T

Text Machine

शक्तिशाली टेक्स्ट टूल्स, आपके ब्राउज़र में

टेक्स्ट ↔ हेक्स कन्वर्टर

टेक्स्ट को हेक्साडेसिमल में और हेक्स को वापस टेक्स्ट में सीधे अपने ब्राउज़र में बदलें। पहले अक्षर एनकोडिंग चुनें, क्योंकि वही टेक्स्ट हर एनकोडिंग में अलग बाइट्स देता है: UTF-8, UTF-16LE, UTF-16BE या Windows-1252। उसके बाद लोअरकेस या अपरकेस, और स्पेस से अलग किए गए या निरंतर बाइट्स चुनें।

एनकोडिंग

अक्षर केस

विभाजक

टेक्स्ट इनपुट
हेक्स आउटपुट

बदला गया नतीजा यहाँ देखने के लिए ऊपर डेटा दर्ज करें।

टेक्स्ट से हेक्स कन्वर्टर का उपयोग कैसे करें

  1. 1

    एक दिशा चुनें

    टॉगल का उपयोग करके टेक्स्ट से हेक्स या हेक्स से टेक्स्ट चुनें। स्वैप बटन आपके नतीजे को इनपुट में ले जाता है ताकि आप उसे वापस दूसरी दिशा में बदल सकें।

  2. 2

    अपना डेटा दर्ज करें

    टेक्स्ट टाइप करें या पेस्ट करें, या हेक्स की कोई स्ट्रिंग पेस्ट करें। बाइट्स के लिए अक्षर एनकोडिंग चुनें; जैसे-जैसे आप टाइप करते हैं रूपांतरण अपने आप चलता है।

  3. 3

    प्रारूप चुनें

    हेक्स आउटपुट के लिए, लोअरकेस या अपरकेस अंक और हर बाइट के बीच स्पेस या एक निरंतर स्ट्रीम चुनें। डिकोड करते समय स्पेस, कॉमा और कोलन सभी वैकल्पिक होते हैं।

  4. 4

    नतीजा कॉपी करें

    बदले गए आउटपुट की समीक्षा करें और उसे अपने क्लिपबोर्ड पर कॉपी करें, जहाँ भी ज़रूरत हो वहाँ पेस्ट करने के लिए तैयार।

टेक्स्ट से हेक्साडेसिमल: एक संपूर्ण मार्गदर्शिका

हेक्साडेसिमल क्या है

हेक्साडेसिमल, जिसे आमतौर पर छोटा करके हेक्स कहा जाता है, बेस-16 संख्या प्रणाली है। जहाँ डेसिमल दस अंक-चिह्नों का उपयोग करती है और बाइनरी दो का, वहीं हेक्स सोलह का उपयोग करती है: शून्य से नौ तक के मानों के लिए अंक 0 से 9, और फिर दस से पंद्रह तक के मानों के लिए अक्षर A से F। यानी A का मतलब 10, B का 11, C का 12, D का 13, E का 14 और F का 15 है। केस से मान नहीं बदलता, इसलिए 0xff और 0xFF एक ही संख्या हैं।

हेक्स बाइनरी के लिए प्रोग्रामर की शॉर्टहैंड है। हर हेक्स अंक ठीक चार बिट्स के बराबर होता है, क्योंकि चार बिट्स में सोलह संभावित मान समा सकते हैं, इसलिए दो हेक्स अंक एक आठ-बिट बाइट को पूरी तरह बयान कर देते हैं। यही सटीक मेल वजह है कि बाइट्स को लगभग हमेशा हेक्स में लिखा जाता है, न कि एक और शून्य की लंबी कतारों के रूप में — यह कहीं ज़्यादा संक्षिप्त और कहीं ज़्यादा आसानी से पढ़ने योग्य होता है।

हर बाइट के लिए दो हेक्स अंक

एक बाइट आठ बिट्स की होती है और 0 से 255 तक का कोई भी मान रख सकती है। हेक्स में यह रेंज ठीक दो अंकों में लिखी जाती है, 00 से FF तक, जहाँ FF का मतलब 255 है। बायाँ अंक ऊपरी चार बिट्स को दर्शाता है, जिसका भार सोलह होता है, और दायाँ अंक निचले चार बिट्स को दर्शाता है, जिसका भार एक होता है। किसी बाइट का मान निकालने के लिए बाएँ अंक को 16 से गुणा करें और उसमें दायाँ अंक जोड़ें।

यह टूल हर बाइट को हमेशा दो-अंकीय हेक्स जोड़ी के रूप में लिखता है, ज़रूरत पड़ने पर आगे एक शून्य लगाकर, इसलिए मान 5 वाली बाइट सिर्फ़ 5 के बजाय 05 के रूप में दिखती है। दो अंकों की तय चौड़ाई बनाए रखने का मतलब है कि बाइट्स एक सीध में रहती हैं और हेक्स डंप को बिना किसी भ्रम के पढ़ा जा सकता है। आप अंकों को लोअरकेस या अपरकेस में दिखा सकते हैं और बाइट्स को स्पेस से अलग कर सकते हैं या उन्हें आपस में जोड़ सकते हैं।

अक्षर से हेक्स तक, चरण दर चरण

किसी अक्षर को हेक्स में बदलना दो चरणों का काम है: पहले उसका बाइट मान निकालें, फिर उस मान को बेस 16 में लिखें। ASCII अक्षरों के लिए बाइट मान वही जाना-पहचाना कोड पॉइंट होता है। बड़ा A डेसिमल में 65 होता है। 65 को हेक्स में बदलने के लिए उसे 16 से भाग दें: 65 में 16 चार बार आता है (जो 64 होता है) और शेष 1 बचता है, इसलिए ऊपरी अंक 4 और निचला अंक 1 होता है, जिससे बनता है 0x41।

यही वजह है कि A = 0x41 कंप्यूटिंग में सबसे पहचाने जाने वाले मानों में से एक है। यही तरीका छोटे a, कोड 97, को 0x61 (16 छह बार यानी 96, शेष 1) देता है, और स्पेस अक्षर, कोड 32, को 0x20 (16 दो बार यानी 32, शेष 0)। उल्टी दिशा में, पहले हेक्स अंक को 16 से गुणा करें और दूसरा जोड़कर डेसिमल कोड वापस पाएँ, फिर उस अक्षर को देखें।

व्यावहारिक उदाहरण: "Hex" को एनकोड करना

तीनों अक्षरों H, e, x को रूपांतरण से गुज़ारें। H का कोड 72 है; 16 से भाग देने पर 4 आता है और शेष 8, इसलिए यह 0x48 है। अक्षर e का कोड 101 है; यह 16 छह बार (96) और शेष 5 है, इसलिए 0x65। अक्षर x का कोड 120 है; यह 16 सात बार (112) और शेष 8 है, इसलिए 0x78।

स्पेस से अलग किए गए, अपरकेस डंप के रूप में लिखने पर शब्द "Hex" बन जाता है 48 65 78। बिना विभाजक के लोअरकेस में यह 486578 होता है। डिकोडिंग इस गणित को उल्टा कर देती है: 48 का मतलब 4 गुणा 16 जमा 8, यानी 72, यानी H; 65 का मतलब 101, यानी e; 78 का मतलब 120, यानी x — और मूल शब्द वापस मिल जाता है।

ASCII बनाम UTF-8 और मल्टीबाइट अक्षर

एक-अक्षर-दो-अंक का नियम सिर्फ़ मूल ASCII सेट पर, यानी कोड पॉइंट 0 से 127 तक, और सिर्फ़ बाइट-आधारित एनकोडिंग में साफ़-साफ़ लागू होता है। UTF-8 परिवर्तनशील-चौड़ाई वाला है: उच्चारण-चिह्न वाले अक्षर, ग़ैर-लैटिन लिपियाँ, चिह्न और इमोजी दो, तीन या चार बाइट्स लेते हैं, और उतनी ही हेक्स जोड़ियाँ। UTF-16 इसका उल्टा है, वहाँ हर अक्षर कम से कम दो बाइट्स लेता है, एक साधारण A भी, और उन दो बाइट्स का क्रम ही UTF-16LE को UTF-16BE से अलग करता है। Windows-1252 हर अक्षर के लिए ठीक एक बाइट देता है, लेकिन सिर्फ़ 256 अक्षर ही समेटता है।

उदाहरण के लिए, उच्चारण-चिह्न वाला é दो UTF-8 बाइट्स 0xC3 और 0xA9 है, इसलिए यह एक जोड़ी के बजाय हेक्स C3 A9 में बदलता है। एक आम इमोजी चार बाइट्स का होता है और चार हेक्स जोड़ियाँ बन जाता है। यही वजह है कि ग़ैर-अंग्रेज़ी टेक्स्ट अपने दिखने वाले अक्षरों की गिनती से ज़्यादा हेक्स पैदा करता है, और जब आप अक्षरों के बजाय बाइट्स गिन रहे हों तो इसे याद रखना फ़ायदेमंद होता है।

लचीली डिकोडिंग

हेक्स से टेक्स्ट दिशा इनपुट को एक बार में दो अंक पढ़ती है और प्रारूप के बारे में जानबूझकर उदार रहती है। बाइट्स के बीच स्पेस, कॉमा और कोलन सभी को अनदेखा कर दिया जाता है, इसलिए 486578 जैसी सादी कतार, 48 65 78 जैसा स्पेस वाला डंप, और 48:65:78 जैसा कोलन से अलग किया गया डंप — सभी एक ही शब्द में डिकोड होते हैं। लोअरकेस और अपरकेस दोनों अंक किसी भी मिश्रण में स्वीकार किए जाते हैं।

फिर भी दो नियम ज़रूर बने रहने चाहिए: इनपुट में सिर्फ़ मान्य हेक्स अक्षर हों (0-9 और A-F, साथ ही अनदेखे किए जाने वाले विभाजक), और हेक्स अंकों की संख्या सम होनी चाहिए, क्योंकि हर बाइट को ठीक दो अंकों की ज़रूरत होती है। रूपांतरण त्रुटि का लगभग हमेशा मतलब होता है कि कोई अनचाहा ग़ैर-हेक्स अक्षर भीतर आ गया है या अंकों की गिनती विषम निकली है — शायद किसी बाइट का एक अंक छूट गया हो। उसे ठीक करें और डिकोड पूरा हो जाता है।

हेक्स का उपयोग कहाँ होता है

प्रोग्रामिंग और डिबगिंग में हेक्साडेसिमल हर जगह मौजूद है। मेमोरी पते, बाइट ऑफ़सेट और कच्चे डेटा डंप हेक्स में दिखाए जाते हैं क्योंकि दो अंक एक बाइट से इतनी सफ़ाई से मेल खाते हैं। जब आप किसी फ़ाइल या नेटवर्क पैकेट को हेक्स एडिटर में जाँचते हैं, तो आप ठीक वैसा ही आउटपुट पढ़ रहे होते हैं जैसा यह टूल पैदा करता है। हेक्स बाइनरी पहचानकर्ताओं को भी संक्षिप्त रूप में एनकोड करता है, जैसे हैश और UUID।

आपने हेक्स को बाइट डंप के बाहर भी ज़रूर देखा होगा। CSS और डिज़ाइन टूल रंगों को #FF8800 जैसी हेक्स तिकड़ियों के रूप में लिखते हैं, जहाँ हर जोड़ी 00 से FF तक की लाल, हरी और नीली तीव्रता होती है। कई भाषाओं में कैरेक्टर एस्केप हेक्स का उपयोग करते हैं, जैसे \x41 जिसका मतलब अक्षर A है। टेक्स्ट को हेक्स में बदलना किसी स्ट्रिंग के पीछे के सटीक बाइट मानों को जाँचने, किसी एनकोडिंग की पुष्टि करने, या ऐसे संदर्भ के लिए डेटा तैयार करने का एक तेज़ तरीका है जो हेक्साडेसिमल की अपेक्षा करता है।

अक्सर पूछे जाने वाले प्रश्न

टेक्स्ट को हेक्साडेसिमल में कैसे बदला जाता है?
हर अक्षर को आपकी चुनी हुई एनकोडिंग से बाइट्स में बदला जाता है, और हर बाइट को 00 से FF तक की दो-अंकीय हेक्साडेसिमल संख्या के रूप में लिखा जाता है। UTF-8 में साधारण अंग्रेज़ी अक्षर हर एक के लिए एक ही बाइट बनाते हैं, जबकि उच्चारण-चिह्न वाले अक्षर, चिह्न और इमोजी दो से चार बाइट्स लेते हैं। UTF-16 में हर अक्षर कम से कम दो बाइट्स लेता है, और Windows-1252 में हर समर्थित अक्षर ठीक एक बाइट लेता है।
क्या यह इमोजी और ग़ैर-अंग्रेज़ी टेक्स्ट का समर्थन करता है?
हाँ, UTF-8 और UTF-16 में, जो हर Unicode अक्षर को समेटते हैं: उच्चारण-चिह्न वाले अक्षर, सिरिलिक, ग्रीक, चीनी, जापानी, अरबी, इमोजी और बहुत कुछ। इन्हें सही बाइट अनुक्रमों में एनकोड किया जाता है और बिल्कुल वैसे ही वापस डिकोड किया जाता है। Windows-1252 256 अक्षरों का सेट है, इसलिए उससे बाहर की कोई भी चीज़ चुपचाप बदली नहीं जाती, बल्कि असमर्थित बताई जाती है।
डिकोडर कौन-से हेक्स प्रारूप स्वीकार करता है?
हेक्स से टेक्स्ट डिकोडर दो-अंकीय बाइट्स पढ़ता है और प्रारूप के बारे में उदार है। बाइट्स के बीच स्पेस, कॉमा और कोलन सभी को अनदेखा किया जाता है, इसलिए सादा हेक्स, स्पेस से अलग किए गए बाइट्स और कोलन से अलग किए गए डंप सभी काम करते हैं। लोअरकेस और अपरकेस दोनों अंक स्वीकार किए जाते हैं।
मुझे रूपांतरण त्रुटि क्यों मिली?
अगर हेक्स में 0-9 और A-F के अलावा कोई अक्षर हों, या अंकों की संख्या विषम हो, तो डिकोडिंग विफल हो जाती है। हर बाइट को ठीक दो हेक्स अंकों की ज़रूरत होती है, इसलिए कोई भी अनचाहा अक्षर हटाएँ और सुनिश्चित करें कि लंबाई सम हो, फिर रूपांतरण सफल हो जाएगा।
क्या मेरा डेटा किसी सर्वर पर अपलोड होता है?
नहीं। सारा रूपांतरण पूरी तरह आपके ब्राउज़र में होता है। आपका टेक्स्ट कभी अपलोड, लॉग या संग्रहीत नहीं किया जाता, इसलिए यह पूरी तरह निजी रहता है और आपके ऑफ़लाइन होने पर भी टूल काम करता रहता है।

संबंधित टूल्स

इन उपयोगी टूल्स के साथ आगे बढ़ें

टेक्स्ट से बाइनरी कन्वर्टर

मोर्स कोड अनुवादक

NATO फोनेटिक वर्णमाला अनुवादक

ब्रेल अनुवादक

सीज़र साइफर

विजेनेर साइफर