टेक्स्ट टू बाइनरी / ASCII कन्वर्टर क्या है?
यह टूल आपके टाइप किए हुए किसी भी टेक्स्ट को उसके बाइनरी रूप में बदल देता है। कंप्यूटर टेक्स्ट को संख्याओं के रूप में स्टोर करते हैं और इसके लिए वे एक कैरेक्टर एन्कोडिंग का इस्तेमाल करते हैं — अंग्रेज़ी के सामान्य अक्षरों, अंकों और विराम-चिह्नों के लिए यह एन्कोडिंग ASCII कहलाती है। हर कैरेक्टर एक संख्यात्मक कोड से जुड़ा होता है, और यहाँ उस कोड को 8-बिट बाइनरी स्ट्रिंग (आठ 0 और 1) के रूप में दिखाया जाता है। यह कन्वर्टर डेसिमल ASCII कोड और हेक्साडेसिमल समतुल्य भी दिखाता है, ताकि आप किसी भी संख्या-प्रणाली में परिणाम की जाँच कर सकें।
इसका इस्तेमाल कैसे करें
इनपुट बॉक्स में अपना टेक्स्ट टाइप करें या पेस्ट करें और सबमिट कर दें। मुख्य बॉक्स में पूरी बाइनरी स्ट्रिंग दिखती है, जिसमें हर कैरेक्टर के लिए एक 8-बिट समूह स्पेस से अलग किया रहता है। नीचे दी गई टेबल में संबंधित डेसिमल ASCII कोड और हेक्स वैल्यू, साथ ही कुल कैरेक्टर और कुल बिट्स की गिनती दिखती है। स्पेस और विराम-चिह्न भी कैरेक्टर ही गिने जाते हैं — एक स्पेस ASCII 32 है।
फ़ॉर्मूला आसान भाषा में
हर कैरेक्टर c के लिए हम उसका कैरेक्टर कोड लेते हैं (वही वैल्यू जो JavaScript का charCodeAt लौटाता है), उस पूर्णांक को बेस 2 (बाइनरी) में बदलते हैं, और बाईं तरफ़ शून्य जोड़कर उसे 8 अंकों की चौड़ाई तक पैड कर देते हैं।
$$\text{binary} = \text{pad}_8\big(\text{ASCII}(c)\big)\ \text{for each char } c$$
$$c \rightarrow \text{pad}_8(\text{bin}(\text{charCode}(c)))$$
उदाहरण के लिए, अक्षर A का ASCII कोड 65 है, जो बाइनरी में 1000001 बनता है और पैड होकर 01000001 हो जाता है। कुल बिट्स = 8 × कैरेक्टरों की संख्या।
$$\text{bits} = 8 \times n_{chars}$$
हल किया हुआ उदाहरण
आइए शब्द Hi को बदलते हैं। "H" का ASCII 72 है → बाइनरी 01001000 → हेक्स 48। "i" का ASCII 105 है → बाइनरी 01101001 → हेक्स 69। तो "Hi" बन जाता है 01001000 01101001, डेसिमल में 72 105, हेक्स में 48 69 — यानी \(2\) कैरेक्टरों में कुल \(8 \times 2 = 16\) बिट्स।
ASCII वर्ण संदर्भ तालिका
मानक ASCII प्रत्येक वर्ण को 0 से 127 तक एक संख्या प्रदान करता है। इस परिवर्तक में, प्रत्येक वर्ण के दशमलव कोड को एक 8-बिट बाइनरी मान में परिवर्तित किया जाता है (8 बिट को भरने के लिए शून्य से बाईं ओर पैड किया गया) और एक दो-अंकीय हेक्सादेसिमल मान में। नीचे दी गई तालिका आमतौर पर उपयोग किए जाने वाले मुद्रण योग्य वर्णों की सूची बनाती है।
| वर्ण | दशमलव | 8-बिट बाइनरी | हेक्स |
|---|---|---|---|
| (रिक्ति) | 32 | 00100000 | 20 |
| ! | 33 | 00100001 | 21 |
| 0 | 48 | 00110000 | 30 |
| 1 | 49 | 00110001 | 31 |
| 5 | 53 | 00110101 | 35 |
| 9 | 57 | 00111001 | 39 |
| : | 58 | 00111010 | 3A |
| ? | 63 | 00111111 | 3F |
| @ | 64 | 01000000 | 40 |
| A | 65 | 01000001 | 41 |
| B | 66 | 01000010 | 42 |
| M | 77 | 01001101 | 4D |
| Z | 90 | 01011010 | 5A |
| a | 97 | 01100001 | 61 |
| b | 98 | 01100010 | 62 |
| m | 109 | 01101101 | 6D |
| z | 122 | 01111010 | 7A |
उदाहरण के लिए, बड़ी अक्षर A का दशमलव कोड 65 है, जो बाइनरी में 1000001 है और, 8 बिट तक पैड किए जाने पर, 01000001 बन जाता है। एक एकल वर्ण के रूप में, शब्द "Hi" को 01001000 01101001 में कोडित किया जाता है।
मुख्य शर्तें समझाई गई
- बिट
- डिजिटल डेटा की सबसे छोटी इकाई, जो 0 या 1 (एक बाइनरी अंक) का एक एकल मान धारण करती है।
- बाइट
- 8 बिट का एक समूह। एक बाइट 256 अलग-अलग मानों का प्रतिनिधित्व कर सकता है (\(2^8 = 256\)), जो एक विस्तारित-ASCII वर्ण को संग्रहीत करने के लिए बिल्कुल पर्याप्त है।
- ASCII
- अमेरिकी मानक सूचना विनिमय कोड — एक वर्ण-एन्कोडिंग मानक जो 128 वर्णों (कोड 0–127) को संख्याओं के साथ मैप करता है, जिसमें अक्षर, अंक, विराम चिह्न और नियंत्रण कोड शामिल हैं।
- यूनिकोड
- एक सार्वभौमिक वर्ण मानक जो ASCII से बहुत आगे जाता है ताकि लगभग सभी लेखन प्रणालियों, प्रतीकों और इमोजी को कवर किया जा सके। पहले 128 यूनिकोड कोड पॉइंट ASCII के समान हैं।
- कोड पॉइंट
- एक वर्ण को एक वर्ण सेट के भीतर निर्दिष्ट संख्यात्मक मान। अक्षर "A" के लिए, कोड पॉइंट ASCII और यूनिकोड दोनों में 65 है।
- बाइनरी
- आधार-2 संख्या प्रणाली, केवल 0 और 1 अंकों का उपयोग करती है। प्रत्येक स्थिति दो की एक शक्ति का प्रतिनिधित्व करती है (1, 2, 4, 8, …)।
- दशमलव
- आधार-10 संख्या प्रणाली जिसका उपयोग रोज़मर्रा की गिनती में किया जाता है, जिसमें अंक 0–9 हैं और स्थिति दस की शक्तियों का प्रतिनिधित्व करती हैं।
- हेक्सादेसिमल
- आधार-16 संख्या प्रणाली, जिसमें अंक 0–9 और अक्षर A–F का उपयोग किया जाता है। एक हेक्स अंक बिल्कुल 4 बिट का प्रतिनिधित्व करता है, इसलिए दो हेक्स अंक एक बाइट का प्रतिनिधित्व करते हैं।
- पैडिंग / बाईं ओर पैड करना
- एक बाइनरी मान के सामने शून्य जोड़ना ताकि प्रत्येक वर्ण एक समान चौड़ाई में आए। ASCII बाइट को 8 बिट तक बाईं ओर पैड किया जाता है — उदाहरण के लिए, कोड 65 (बाइनरी 1000001) 01000001 बन जाता है।
बाइनरी, दशमलव और हेक्सादेसिमल रूपांतरण तालिका
नीचे दी गई तालिका दिखाती है कि एक ही मान दशमलव (आधार 10), बाइनरी (आधार 2) और हेक्सादेसिमल (आधार 16) में कैसे प्रकट होता है। ध्यान दें कि कैसे दो की प्रत्येक शक्ति एक और बाइनरी अंक जोड़ती है, और कैसे हर 4 बाइनरी बिट एक एकल हेक्स अंक पर स्पष्ट रूप से मैप होते हैं।
| दशमलव | बाइनरी (8-बिट) | हेक्स |
|---|---|---|
| 0 | 00000000 | 00 |
| 1 | 00000001 | 01 |
| 2 | 00000010 | 02 |
| 3 | 00000011 | 03 |
| 4 | 00000100 | 04 |
| 5 | 00000101 | 05 |
| 6 | 00000110 | 06 |
| 7 | 00000111 | 07 |
| 8 | 00001000 | 08 |
| 9 | 00001001 | 09 |
| 10 | 00001010 | 0A |
| 11 | 00001011 | 0B |
| 12 | 00001100 | 0C |
| 13 | 00001101 | 0D |
| 14 | 00001110 | 0E |
| 15 | 00001111 | 0F |
| 16 | 00010000 | 10 |
| 32 | 00100000 | 20 |
| 64 | 01000000 | 40 |
| 128 | 10000000 | 80 |
| 255 | 11111111 | FF |
जाँच के रूप में, दशमलव 255 सबसे बड़ा मान है जो एक एकल बाइट धारण कर सकता है; इसका हेक्स रूप FF है और इसका बाइनरी रूप सभी आठ बिट को 1 पर सेट है। इसी तरह, दशमलव 64 बाइनरी 1000000 में बदलता है, जो 01000000 तक पैड होता है।
अक्सर पूछे जाने वाले सवाल
क्या यह अंग्रेज़ी के अलावा दूसरे कैरेक्टर भी संभालता है? स्टैंडर्ड ASCII कोड पॉइंट 0–127 तक को कवर करता है। 127 से ऊपर के कैरेक्टर (एक्सेंट वाले अक्षर, इमोजी आदि) अपने Unicode कोड पॉइंट का इस्तेमाल करते हैं, जो 8 बिट्स से ज़्यादा हो सकते हैं और स्टैंडर्ड ASCII में फ़िट नहीं होते। ध्यान दें कि देवनागरी (हिंदी) के अक्षर भी ASCII से बाहर आते हैं, इसलिए उनका कोड पॉइंट बड़ा होगा।
हर कैरेक्टर के लिए 8 बिट्स ही क्यों? एक बाइट 8 बिट्स की होती है, और ASCII परंपरागत रूप से एक बाइट में फ़िट हो जाती है, इसलिए 8-बिट समूह बनाना सबसे आम तरीका है।
क्या मैं बाइनरी को वापस टेक्स्ट में बदल सकता हूँ? यह टूल टेक्स्ट को बाइनरी में बदलता है। उल्टा करने के लिए बाइनरी को 8-बिट समूहों में बाँटें और हर वैल्यू को उसके ASCII कैरेक्टर पर वापस मैप कर दें।