Base32, Base58 और Ascii85 कनवर्टर
टेक्स्ट या कच्चे बाइट्स को Base32, Base58, Ascii85 या Z85 में एनकोड करें, या इनमें से किसी को वापस डिकोड करें, हर एन्कोडिंग के अपने वर्णमाला और पैडिंग नियमों के साथ। कार्य-तालिका दिखाती है कि पहले बाइट्स अक्षरों में कैसे बदलते हैं। Base64 टेक्स्ट एनकोडर और डिकोडर में है। आपके ब्राउज़र में चलता है; कुछ भी अपलोड नहीं होता।
A–Z और अंक 2–7, हर अक्षर में पाँच बिट, आठ अक्षरों के गुणज तक = से पैड किया गया। डिकोड करते समय अक्षरों का आकार मायने नहीं रखता।
यह कैसे निकाला गया
बाइट्स को बिट्स के रूप में लिखा जाता है और पाँच-पाँच के समूहों में काटा जाता है। हर समूह 0 से 31 तक की एक संख्या है और एक अक्षर चुनता है।
| बिट्स | मान | अक्षर |
|---|---|---|
| 01001 | 9 | J |
| 00001 | 1 | B |
| 10010 | 18 | S |
| 10110 | 22 | W |
| 11000 | 24 | Y |
| 11011 | 27 | 3 |
| 00011 | 3 | D |
| 01111 | 15 | P |
| 00101 | 5 | F |
| 10000 | 16 | Q |
| 10000 | 16 | Q |
| 00101 | 5 | F |
| 01110 | 14 | O |
| 11011 | 27 | 3 |
| 11011 | 27 | 3 |
| 10010 | 18 | S |
पहली 16 पंक्तियाँ दिखाई जा रही हैं।
Base एनकोडिंग कनवर्टर का उपयोग कैसे करें
- 1. एक एन्कोडिंग चुनें। Base32, हेक्स विस्तारित वर्णमाला वाला Base32, Bitcoin वर्णमाला वाला Base58, Adobe द्वारा उपयोग किया जाने वाला Ascii85, या Z85। मेनू के नीचे का नोट चुनी गई एन्कोडिंग का वर्णन करता है।
- 2. बताएँ कि डेटा क्या है। टेक्स्ट को UTF-8 बाइट्स के रूप में पढ़ा जाता है। हेक्स बाइट्स से आप मनमाना बाइनरी एनकोड कर सकते हैं, जैसे कोई कुंजी, उसे
86 4f d2 6fजैसे जोड़ों में लिखकर। - 3. एनकोड या डिकोड करें। एनकोडिंग उस एन्कोडिंग की वर्णमाला वाला टेक्स्ट देती है। डिकोडिंग उसे वापस बाइट्स में बदलती है, जो टेक्स्ट या हेक्स के रूप में दिखते हैं। इनपुट में स्पेस और पंक्ति-विराम अनदेखे किए जाते हैं।
- 4. विकल्प जाँचें। Base32 को
=पैडिंग के साथ या बिना लिखा जा सकता है। Ascii85 को<~और~>में लपेटा जा सकता है, और चार शून्य बाइट्स कोzके रूप में लिखा जा सकता है।
ये एन्कोडिंग किसलिए हैं
इनमें से कोई भी एन्क्रिप्शन नहीं है। हर एक बाइट्स को, जो शायद छापने योग्य न हों, ऐसे टेक्स्ट में बदलता है जिसे ईमेल, URL, QR कोड या कॉन्फ़िग फ़ाइल में चिपकाया जा सके, और हर एक को उस एन्कोडिंग का नाम जानने वाला कोई भी उलट सकता है। वे वर्णमाला और डेटा से कितने लंबे टेक्स्ट में बदलते हैं, इसमें भिन्न हैं।
| एन्कोडिंग | अक्षर | बाइट्स से तुलना में लंबाई | Hello, World बन जाता है |
|---|---|---|---|
| Base32 (RFC 4648) | 32 | 8 ÷ 5 गुना लंबा | JBSWY3DPFQQFO33SNRSA==== |
| Base32 हेक्स विस्तारित | 32 | 8 ÷ 5 गुना लंबा | 91IMOR3F5GG5ERRIDHI0==== |
| Base58 (Bitcoin) | 58 | लगभग 1.37 गुना | 2NEpo7TZsLBYdvo5V |
| Ascii85 (Adobe) | 85 | 5 ÷ 4 गुना लंबा | <~87cURD_*#4DfTZ)~> |
| Z85 (ZeroMQ) | 85 | 5 ÷ 4 गुना लंबा | nm=QNz.92jz/PV8 |
Base32
Base32 बाइट्स को 5-बिट के समूहों में काटता है और हर एक को 32 अक्षरों में से एक बनाता है, A–Z और 2–7। यह केवल अंक 2 से 7 उपयोग करता है, और 0, 1 और 8 को छोड़ता है जो O, I और B जैसे दिखते हैं, और अक्षरों के आकार को अनदेखा करता है, ताकि लोग उसे ज़ोर से पढ़ या टाइप कर सकें। पैडिंग चिह्न = लंबाई को आठ के गुणज तक पूरा करता है। RFC 4648 के टेस्ट वेक्टर हैं, जैसे foobar → MZXW6YTBOI======। ऑथेंटिकेटर-ऐप के सीक्रेट और Tor onion पते Base32 में होते हैं।
Base58
Base58 पूरे इनपुट को एक बड़ी संख्या मानता है और उसे बेस 58 में लिखता है, जिसमें 0, O, I और l नहीं होते, और चिह्न + और / भी नहीं, ताकि परिणाम डबल-क्लिक से कॉपी हो सके और उसे गलत पढ़ना मुश्किल हो। हर अग्रणी शून्य बाइट पहले अक्षर 1 के रूप में लिखा जाता है। Bitcoin वर्णमाला कई Base58 वर्णमालाओं में से एक है; Ripple और Flickr द्वारा उपयोग की जाने वाली वर्णमालाएँ अक्षरों को अलग क्रम में रखती हैं, इसलिए जाँच लें कि आपका डेटा किसका उपयोग करता है। Bitcoin पते इसके ऊपर एक चेकसम और संस्करण बाइट जोड़ते हैं, जिस योजना को Base58Check कहते हैं, और यह टूल उसे नहीं निकालता।
Ascii85 और Z85
दोनों चार बाइट्स को 32-बिट संख्या मानते हैं और उसे बेस 85 के पाँच अंकों में लिखते हैं, इसलिए वे डेटा से केवल 25 प्रतिशत लंबे होते हैं। Adobe का Ascii85, जो PostScript और PDF में उपयोग होता है, ! से u तक के अक्षरों का उपयोग करता है, चार शून्य बाइट्स को z में संक्षिप्त करता है, और आम तौर पर डेटा को <~ और ~> में लपेटता है। एक अंतिम समूह जिसमें एक से तीन बाइट्स हों, उनसे एक अक्षर अधिक देता है। Z85, जो ZeroMQ के RFC 32 में परिभाषित है, एक अलग 85-अक्षरी वर्णमाला उपयोग करता है जिसे स्रोत कोड में उद्धरण-चिह्नों और बैकस्लैश से बचने के लिए चुना गया है; इसमें z संक्षेप नहीं है और कोई छोटा अंतिम समूह नहीं, इसलिए उसका इनपुट चार बाइट्स का गुणज होना चाहिए। उसके विनिर्देश का उदाहरण आठ बाइट्स 86 4f d2 6f b5 59 f7 5b है, जो HelloWorld में एनकोड होते हैं। अन्य बेस-85 वर्णमालाएँ भी हैं, जैसे RFC 1924 वाली जिसे Git उपयोग करता है, इसलिए वर्णमाला को उसके स्रोत से मिलाएँ।
अक्सर पूछे जाने वाले प्रश्न
- क्या Base32 या Base58 एन्क्रिप्शन है?
- नहीं। ये एन्कोडिंग हैं: कोई भी इन्हें उलट सकता है, क्योंकि वर्णमाला और नियम सार्वजनिक हैं। ये डेटा को छापने योग्य और कॉपी करने में आसान बनाती हैं, गुप्त नहीं।
- Base58 कुछ अक्षर क्यों छोड़ता है?
- भ्रम और चिह्नों से बचने के लिए। यह 0 (शून्य), O (बड़ा o), I (बड़ा i) और l (छोटा L) छोड़ता है, जो कई फ़ॉन्ट में एक जैसे दिखते हैं, और + और /, जो डबल-क्लिक चयन को तोड़ते हैं। इस तरह 58 अक्षर बचते हैं।
- Base32 स्ट्रिंग कैसे डिकोड करूँ?
- Base32 चुनें, डिकोड पर जाएँ और स्ट्रिंग चिपकाएँ। अक्षरों का आकार मायने नहीं रखता, और अंत के = चिह्न वैकल्पिक हैं। यदि कोई त्रुटि अक्षरों का नाम ले, तो स्ट्रिंग शायद Base32 हेक्स विस्तारित, Base64 या कोई और एन्कोडिंग है।
- Ascii85 और Z85 में क्या अंतर है?
- दोनों चार बाइट्स के लिए पाँच अक्षर उपयोग करते हैं, पर उनकी वर्णमालाएँ अलग हैं। Ascii85 ! से u तक के अक्षर उपयोग करता है, शून्यों के लिए z संक्षेप रखता है, और उसके चारों ओर <~ और ~> हो सकते हैं। Z85 स्रोत कोड-सुरक्षित वर्णमाला और कोई संक्षेप नहीं उपयोग करता।
- Z85 मुझसे चार बाइट्स का गुणज क्यों माँगता है?
- Z85 विनिर्देश में कोई पैडिंग परिभाषित नहीं है। उसका डेटा 4-बाइट समूहों का पूर्ण गुणज होना चाहिए, और उसका टेक्स्ट पाँच अक्षरों का गुणज। बाइट्स आप स्वयं जोड़ें, या Ascii85 उपयोग करें, जो छोटा अंतिम समूह संभालता है।
- Base64 स्ट्रिंग कैसे एनकोड करूँ?
- यह पृष्ठ Base64 नहीं करता। टेक्स्ट एनकोडर और डिकोडर टेक्स्ट को Base64, URL और HTML एंटिटी में और वापस बदलता है, और XOR सिफर पृष्ठ हेक्स बाइट्स को Base64 में दिखा सकता है।