उपयोग कैसे करें
- टेक्स्ट को हेक्स में बदलने के लिए “एनकोड करें” चुनें, या हेक्स को वापस टेक्स्ट में बदलने के लिए “डिकोड करें”।
- इनपुट टाइप या पेस्ट करें, या किसी फ़ाइल के बाइट हेक्स में देखने के लिए उसे खोलें।
- विकल्प सेट करें: “बड़े अक्षर”, “विभाजक” (“कोई नहीं”, “स्पेस” या “कोलन”) और “प्रीफ़िक्स” (“कोई नहीं”, 0x या \x)।
- परिणाम कॉपी करें या उसे फ़ाइल के रूप में डाउनलोड करें।
हेक्साडेसिमल (Base16) क्या है?
हेक्साडेसिमल सोलह चिह्नों का उपयोग करता है: अंक 0 से 9 और अक्षर A से F। एक हेक्स अंक में चार बिट होते हैं, इसलिए हर बाइट ठीक दो अंकों में लिखा जाता है, 00 से FF तक। आउटपुट इनपुट से दोगुना होता है, यानी Base64 या Base32 से ज़्यादा, लेकिन बाइट की सीमाएँ साफ़ दिखती रहती हैं, इसीलिए डीबगर, हेक्स एडिटर और नेटवर्क टूल डेटा इसी तरह दिखाते हैं।
RFC 4648 इस एनकोडिंग को Base16 के रूप में मानकीकृत करता है, जिसमें बड़े अक्षरों वाली वर्णमाला होती है और पैडिंग नहीं होती। व्यवहार में छोटे अक्षर भी उतने ही आम हैं, और डिकोडर, यह वाला भी, दोनों स्वीकार करते हैं।
हेक्स का उपयोग कहाँ होता है
- हैश और कुंजियाँ। SHA-256 डाइजेस्ट 32 बाइट का होता है, जिसे 64 हेक्स अंकों में लिखा जाता है। क्रिप्टोग्राफ़िक कुंजियाँ, UUID और चेकसम भी आमतौर पर हेक्स में ही दिखाए जाते हैं।
- हार्डवेयर पते। MAC पते हेक्स में छह बाइट के होते हैं, जिन्हें सामान्यतः कोलन से अलग किया जाता है। कोलन विभाजक ठीक यही फ़ॉर्मैट बनाता है।
- एस्केप सीक्वेंस। C, Python और JavaScript की स्ट्रिंग किसी एक बाइट के लिए
\xऔर उसके बाद दो हेक्स अंक स्वीकार करती हैं, और\xप्रीफ़िक्स विकल्प ठीक यही लिखता है। - वेब फ़ॉर्मैट।
#FF8800जैसे CSS रंग हेक्स में तीन बाइट होते हैं, और URL परसेंट-एनकोडिंग बाइट को%और दो हेक्स अंकों के रूप में लिखती है।
हेक्स को टेक्स्ट में डिकोड करना
डिकोडर फ़ॉर्मैटिंग को लेकर लचीला है। यह बड़े और छोटे दोनों तरह के अंक स्वीकार करता है, स्पेस, लाइन ब्रेक, कॉमा, कोलन, सेमीकोलन और हाइफ़न को अनदेखा करता है, और 0x, \x, % और &#x प्रीफ़िक्स हटा देता है। xxd -p का आउटपुट, MAC पते, UUID, कॉमा से अलग की गई 0x सूचियाँ, %XX एस्केप और HTML हेक्स एंटिटी जैसे के तैसे पेस्ट किए जा सकते हैं। हर बाइट के लिए दो अंक चाहिए, इसलिए अंकों की विषम संख्या को त्रुटि के रूप में बताया जाता है। बाइट को चुनी गई टेक्स्ट एनकोडिंग में टेक्स्ट के रूप में दिखाया जाता है।
टेक्स्ट से गुज़रे बिना हेक्स को किसी दूसरी एनकोडिंग में बदलने के लिए हेक्स से Base64 या Base64 से हेक्स का उपयोग करें।
कोड में हेक्स
# Python
'Hi'.encode().hex() # '4869'
bytes.fromhex('4869').decode() # 'Hi'
// Node.js
Buffer.from('Hi').toString('hex') // '4869'
Buffer.from('4869', 'hex').toString('utf8') // 'Hi'
# Shell
printf 'Hi' | xxd -p # 4869
तकनीकी विवरण
| वर्णमाला | 0-9 A-F |
|---|---|
| आउटपुट का आकार | प्रति बाइट 2 अक्षर (200%) |
| पैडिंग | कोई नहीं |
| मानक | RFC 4648 खंड 8 |
| केस-संवेदी | नहीं |
उदाहरण
| इनपुट (UTF-8) | आउटपुट |
|---|---|
Hello, World! | 48656c6c6f2c20576f726c6421 |
Base64.is | 4261736536342e6973 |
你好 | e4bda0e5a5bd |
अक्सर पूछे जाने वाले प्रश्न
हेक्स को टेक्स्ट में कैसे बदलें?
“डिकोड करें” पर जाएँ और हेक्स पेस्ट करें। स्पेस, कोलन और 0x या \x प्रीफ़िक्स अपने आप हट जाते हैं, और बाइट UTF-8 टेक्स्ट के रूप में दिखाए जाते हैं, जब तक कि आप कोई दूसरी टेक्स्ट एनकोडिंग न चुनें।
हेक्स बड़े अक्षरों में होना चाहिए या छोटे अक्षरों में?
दोनों एक ही बाइट दर्शाते हैं। RFC 4648 बड़े अक्षरों का उपयोग करता है, जबकि कई प्रोग्रामिंग भाषाएँ छोटे अक्षर प्रिंट करती हैं। अगर आपका लक्ष्य सिस्टम बड़े अक्षर चाहता है तो “बड़े अक्षर” चालू करें; डिकोडर दोनों में से कोई भी स्वीकार करता है।