बाइनरी, ऑक्टल, डेसिमल और हेक्साडेसिमल संख्याओं का रूपांतरण
कंप्यूटर विज्ञान और डिजिटल इलेक्ट्रॉनिक्स में विभिन्न संख्या प्रणालियों (नंबर बेस) का उपयोग किया जाता है। बाइनरी (आधार 2), ऑक्टल (आधार 8), डेसिमल (आधार 10) और हेक्साडेसिमल (आधार 16) के बीच सटीक रूपांतरण करना डेवलपर्स और तकनीकी उपयोगकर्ताओं के लिए एक बुनियादी आवश्यकता है।
यह टूल संख्या मोड (Number mode) में काम करते समय इन चारों बेस के बीच तुरंत रूपांतरण करता है। जब आप बाइनरी, ऑक्टल, दशमलव या हेक्स में से किसी भी एक फ़ील्ड में कोई संख्या लिखते या संपादित करते हैं, तो अन्य तीनों फ़ील्ड बिना किसी देरी के तुरंत अपडेट हो जाते हैं।
सटीक गणना के लिए यह टूल BigInt का उपयोग करता है, जिससे मनमानी सटीकता (arbitrary precision) वाले पूर्णांकों को प्रोसेस किया जा सकता है। इसकी मदद से 4,096 वर्णों तक की बड़ी संख्याओं को बिना किसी राउंडिंग (पूर्णांकन) के बिल्कुल सटीक रूप से बदला जा सकता है।
इनपुट प्रारूप और लचीलापन
संख्या मोड में इनपुट दर्ज करते समय टूल विभिन्न प्रकार के प्रारूपों को स्वीकार करता है:
- बाइनरी: केवल
0और1अंक। इसमें0bप्रीफ़िक्स का उपयोग किया जा सकता है। - ऑक्टल:
0से7तक के अंक। इसमें0oप्रीफ़िक्स का उपयोग किया जा सकता है। - दशमलव:
0से9तक के अंक। - हेक्स (Hex):
0से9औरAसेF(याaसेf) तक के वर्ण। इसमें0xप्रीफ़िक्स का उपयोग किया जा सकता है।
इनपुट को आसान बनाने के लिए संख्याओं के बीच में अंडरस्कोर (_), खाली स्थान (whitespace separators), या आगे-पीछे के स्पेस को टूल स्वतः संभाल लेता है। ऋणात्मक संख्याओं के लिए संख्या के आगे माइनस (-) चिह्न लगाया जा सकता है, जो रूपांतरण के बाद हर बेस में माइनस चिह्न के साथ ही दिखाई देता है।
टेक्स्ट और बाइट मानों का आपस में रूपांतरण
संख्याओं के अलावा, यह टूल टेक्स्ट को उसके बाइट मानों (Byte values) में बदलने और बाइट मानों को वापस टेक्स्ट में डिकोड करने की सुविधा भी देता है। यह प्रक्रिया मुख्य रूप से डेटा ट्रांसमिशन और कैरेक्टर एन्कोडिंग को समझने में मदद करती है।
टेक्स्ट मोड (Text mode) में काम करते समय निम्नलिखित नियम लागू होते हैं:
- टेक्स्ट एन्कोडिंग: टेक्स्ट को एन्कोड करने के लिए UTF-8 मानक का उपयोग किया जाता है।
- अधिकतम सीमा: इनपुट टेक्स्ट की अधिकतम लंबाई 200,000 वर्णों तक सीमित है। यदि इनपुट इससे बड़ा होता है, तो टूल "यह इस टूल के लिए बहुत लंबा है — थोड़ा छोटा इनपुट आज़माएँ।" त्रुटि संदेश दिखाता है।
- बाइट मान: डिकोड किए जाने वाले बाइट मानों को खाली स्थान (whitespace) या कॉमा (
,) द्वारा अलग किया जा सकता है। प्रत्येक मान चुनी हुई बेस में एक बाइट यानी0से255की सीमा के भीतर होना चाहिए।
आउटपुट स्वरूपण और पैडिंग के नियम
रूपांतरण के बाद आउटपुट को व्यवस्थित और मानक रूप में दिखाने के लिए टूल विशिष्ट पैडिंग नियमों का पालन करता है:
| आउटपुट बेस | पैडिंग नियम | उदाहरण |
|---|---|---|
| बाइनरी | अग्रणी शून्यों (leading zeros) के साथ 8 बिट्स तक पैड किया जाता है। | 00001010 |
| ऑक्टल | अग्रणी शून्यों के साथ 3 बिट्स तक पैड किया जाता है। | 012 |
| हेक्स | अग्रणी शून्यों के साथ 2 बिट्स तक पैड किया जाता है और अक्षर हमेशा बड़े (uppercase) होते हैं। | 0A |
| दशमलव | इसमें अग्रणी शून्यों के साथ कोई पैडिंग नहीं की जाती है। | 10 |
त्रुटि प्रबंधन और स्थिति संदेश
गलत इनपुट या अमान्य बाइट्स दर्ज करने पर टूल उपयोगकर्ता को स्पष्ट त्रुटि संदेशों के माध्यम से सूचित करता है:
- अमान्य संख्या: यदि संख्या मोड में किसी बेस के लिए अनुपयुक्त अंक दर्ज किया जाता है, तो "चुनी हुई बेस के लिए यह मान्य संख्या नहीं है — ऐसे अंक जाँचें जो उस बेस में नहीं आ सकते।" संदेश दिखाई देता है।
- अमान्य बाइट कोड: यदि बाइट्स का मान
0से255की सीमा से बाहर है या चुनी हुई बेस के अनुकूल नहीं है, तो "मान्य बाइट कोड नहीं हैं — हर मान चुनी हुई बेस में एक बाइट (0-255) होना चाहिए।" त्रुटि दिखाई देती है। - अमान्य UTF-8: यदि बाइट्स का अनुक्रम मान्य UTF-8 टेक्स्ट नहीं बनाता है, तो टूल "ये बाइट्स मान्य UTF-8 नहीं हैं, इसलिए इन्हें टेक्स्ट के रूप में नहीं दिखाया जा सकता।" संदेश प्रदर्शित करता है।
इनपुट फ़ील्ड को पूरी तरह से साफ़ करने पर स्थिति "साफ़ हो गया।" पर सेट हो जाती है। सफल रूपांतरणों के बाद स्थिति क्रमशः "कन्वर्ट हो गया।" (संख्या मोड के लिए), "बाइट्स में बदल दिया।" (टेक्स्ट से बाइट एन्कोडिंग के लिए), या "टेक्स्ट में वापस मिल गया।" (बाइट से टेक्स्ट डिकोडिंग के लिए) अपडेट होती है।
स्थानीय ब्राउज़र प्रोसेसिंग और गोपनीयता
इस टूल की सबसे महत्वपूर्ण विशेषता इसकी गोपनीयता नीति है। हर रूपांतरण पूरी तरह से आपके ब्राउज़र में स्थानीय रूप से निष्पादित होता है। आपकी संख्याएँ, संवेदनशील टेक्स्ट या बाइट मान कभी भी आपके डिवाइस से बाहर नहीं जाते हैं और न ही किसी बाहरी सर्वर पर अपलोड किए जाते हैं। संपूर्ण प्रोसेसिंग क्लाइंट-साइड पर होने के कारण डेटा पूरी तरह से आपके नियंत्रण में रहता है।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
यहाँ क्या बदल सकता हूँ?
दो चीज़ें। संख्या मोड बाइनरी, ऑक्टल, डेसिमल और hex को जोड़ता है: किसी भी फ़ील्ड को एडिट करें, बाकी तीन तुरंत अपडेट हो जाते हैं। टेक्स्ट मोड किसी भी टेक्स्ट को चुनी हुई बेस में बाइट मानों में तोड़ता है और उन्हीं बाइट्स को वापस टेक्स्ट में पढ़ता है।
क्या यह ऋणात्मक और बहुत बड़ी संख्याएँ संभाल पाता है?
हाँ। ऋणात्मक संख्याएँ हर बेस में आगे माइनस चिह्न के साथ दिखती हैं और मान बिना राउंडिंग के सटीक बदलते हैं। फ़िक्स्ड-विड्थ two’s-complement व्यू नहीं है, क्योंकि वह बिट चौड़ाई चुनने के बाद ही सार्थक होता है।
क्या मेरा इनपुट कहीं भेजा जाता है?
नहीं। सब कुछ आपके ब्राउज़र में स्थानीय रूप से कंप्यूट होता है, इसलिए आप जो टाइप करते हैं वह अपलोड नहीं होता।