Hex से ASCII कन्वर्टर क्या है?
Hex से ASCII कन्वर्टर हेक्साडेसिमल नंबरों को वापस उन्हीं पढ़ने योग्य अक्षरों में बदल देता है जिन्हें वे दर्शाते हैं। कंप्यूटर हर अक्षर को एक संख्या के रूप में स्टोर करता है, और हेक्साडेसिमल (बेस 16) इन बाइट मानों को लिखने का एक संक्षिप्त तरीका है। यह टूल आपके हेक्स इनपुट को पढ़ता है, उसे दो-दो अंकों के जोड़ों में बाँटता है, हर जोड़े को उसके संख्यात्मक मान में बदलता है, और उस मान को एक अक्षर से जोड़ देता है — जिससे आपको मूल टेक्स्ट मिल जाता है।
इसका उपयोग कैसे करें
अपनी हेक्साडेसिमल स्ट्रिंग को बॉक्स में पेस्ट करें या टाइप करें। आप बाइट्स को स्पेस या कॉमा से अलग कर सकते हैं, या उन्हें एक लगातार स्ट्रिंग के रूप में लिख सकते हैं — यह टूल किसी भी 0x प्रिफ़िक्स को भी नज़रअंदाज़ कर देता है। कैलकुलेट दबाएँ और डिकोड किया गया टेक्स्ट तुरंत दिख जाएगा, साथ ही कितने बाइट्स डिकोड हुए इसकी गिनती भी।
फ़ॉर्मूला समझें
हेक्स बेस 16 है, इसलिए दो हेक्स अंक एक बाइट को दर्शाते हैं जिसका मान 0 से 255 तक होता है। हर जोड़े p के लिए, हम दशमलव कोड पाने के लिए int(p, 16) निकालते हैं, फिर अक्षर पाने के लिए chr(code)।
$$\text{ASCII} = \bigsqcup_{k=0}^{n-1} \text{char}\Big(\,\text{hex}_{16}\big(\,\text{Hex Input}[2k\,..\,2k{+}1]\big)\Big)$$
उदाहरण के लिए, जोड़ा 48 बराबर है \(4\times16 + 8 = 72\), और अक्षर 72 बड़ा अक्षर H है।
हल किया हुआ उदाहरण
हेक्स स्ट्रिंग 48 65 6C 6C 6F लीजिए। हर जोड़े को बदलने पर: \(48\to72\to\text{"H"}\), \(65\to101\to\text{"e"}\), \(6C\to108\to\text{"l"}\), \(6C\to108\to\text{"l"}\), \(6F\to111\to\text{"o"}\)। इन्हें जोड़ने पर मिलता है Hello।
अक्सर पूछे जाने वाले सवाल
क्या बाइट्स के बीच स्पेस ज़रूरी है? नहीं। स्पेस, कॉमा और 0x प्रिफ़िक्स सभी वैकल्पिक हैं और डिकोडिंग से पहले अपने आप हटा दिए जाते हैं।
अगर मैं अंकों की विषम संख्या डालूँ तो क्या होगा? आख़िरी बिना जोड़े वाले अंक को नज़रअंदाज़ कर दिया जाता है, क्योंकि एक मान्य बाइट के लिए दो हेक्स अंक चाहिए।
क्या बड़े या छोटे अक्षर ज़रूरी हैं? दोनों चलते हैं — 6c और 6C एक जैसे ही डिकोड होते हैं।