Base58 एन्कोडिंग और डिकोडिंग
साधारण पाठ को पहले UTF-8 के अनुसार बाइट्स में परिवर्तित किया जाएगा, और फिर Base58 या Base58Check में एन्कोड किया जाएगा।
ब्राउज़र में Base58 और Base58Check की एन्कोडिंग और डिकोडिंग को पूरा करें, पाठ, फ़ाइलों, कस्टम वर्ण तालिकाओं और हेक्साडेसिमल परिणामों को देखने का समर्थन करें।
संबंधित सुझाव
Base58 और Base58Check क्या हैं?
Base58 एक टेक्स्ट एन्कोडिंग है जिसका उद्देश्य मानव पढ़ना और कॉपी-पेस्ट करना है। यह 0, O, I और l जैसे गलत पढ़े गए वर्णों को आसानी से हटा देगा, इसलिए इसका उपयोग अक्सर छोटे लोगो, निमंत्रण कोड, वॉलेट पते और ऑफ़लाइन साझाकरण कोड जैसे परिदृश्यों में किया जाता है।
मानक Bitcoin Base58 वर्ण तालिका `123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz` है। यह पृष्ठ वर्णमाला के Flickr संस्करण और आपकी अपनी परिभाषित 58-वर्ण वर्णमाला दोनों का समर्थन करता है।
Base58Check एक समाधान है जो मूल बाइट्स के बाद 4-बाइट चेकसम जोड़ता है, और फिर इसे संपूर्ण रूप से Base58 के रूप में एन्कोड करता है। इसका उपयोग अक्सर पुराने बिटकॉइन पते, WIF निजी कुंजी निर्यात, निमंत्रण कोड या स्ट्रिंग्स के लिए किया जाता है जिन्हें मैन्युअल रूप से ट्रांसक्रिप्ट करने की आवश्यकता होती है। लक्ष्य टाइपो त्रुटियों, छूटे हुए शब्दों या अनुक्रम से बाहर का पहले ही पता लगाना है।
यदि आपको बाइनरी पेलोड, एड्रेस पेलोड, या हैश फ़्रैगमेंट मिलता है, तो डिकोड की गई सामग्री आवश्यक रूप से पढ़ने योग्य पाठ नहीं है। इस समय, विकृत वर्णों को डिकोडिंग विफलता के रूप में समझने के बजाय देखने के लिए हेक्साडेसिमल पर स्विच करना अधिक उपयुक्त है।
IPFS CIDv0 Base58Check के बजाय मानक Base58btc का उपयोग करता है; `bc1...` इस प्रकार का बिटकॉइन पता Bech32 से संबंधित है और इस पृष्ठ Base58 के दायरे में नहीं है।
उपयोग के मामले
- सत्यापित करें कि क्या पुराना बिटकॉइन पता, WIF निजी कुंजी निर्यात स्ट्रिंग या कस्टम Base58Check साझाकरण कोड गलत तरीके से दर्ज किया गया है।
- लॉग, चैट या टिकट में आसान डिलीवरी के लिए छोटी फ़ाइलों, बाइनरी टुकड़ों या परीक्षण पेलोड को Base58 में एनकोड करें।
- Base58 स्ट्रिंग को हेक्साडेसिमल में डिकोड करें और संस्करण बाइट्स, हैश या कच्चे पेलोड का विश्लेषण जारी रखें।
- यह पता लगाने के लिए कि बाइट्स के एक ही सेट के अलग-अलग सिस्टम में अलग-अलग परिणाम क्यों होते हैं, Bitcoin Base58 और Flickr Base58 के बीच आउटपुट की तुलना करें।
- आंतरिक आमंत्रण कोड, लघु लोगो, या ऑफ़लाइन टोकन के लिए अपनी स्वयं की 58-वर्ण वर्ण तालिका डिज़ाइन करें, और सत्यापित करें कि दोनों सिरे सुसंगत हैं।
उपयोग कैसे करें
- एन्कोडिंग या डिकोडिंग मोड का चयन करें; यदि आपको मानव-प्रविष्ट त्रुटि-प्रवण स्ट्रिंग को संभालने की आवश्यकता है, तो Base58Check विकल्प चालू करें।
- Bitcoin, Flickr या एक कस्टम वर्ण तालिका चुनें; यदि यह एक निजी प्रोटोकॉल है, तो पहले सुनिश्चित करें कि दोनों पक्ष 58 वर्ण अनुक्रमों के समान सेट का उपयोग करें।
- एन्कोडिंग करते समय टेक्स्ट दर्ज करें या फ़ाइल अपलोड करें; डिकोडिंग करते समय Base58 स्ट्रिंग पेस्ट करें, और यदि आवश्यक हो तो कच्चे बाइट्स देखने के लिए हेक्साडेसिमल परिणाम पर स्विच करें।
- आउटपुट देखने के बाद, इसे सीधे कॉपी या डाउनलोड करें; यदि यह Base58Check है, तो पृष्ठ एक साथ संकेत देगा कि सत्यापन पारित हो गया है या नहीं।
विशेषताएं
- मानक Base58 और Base58Check दोहरे मोड: सामान्य एन्कोडिंग सीधे किया जा सकता है, या 4-बाइट चेकसम स्वचालित रूप से जोड़ा या सत्यापित किया जा सकता है।
- पाठ और फ़ाइलें दोनों को एन्कोड किया जा सकता है: साधारण पाठ को UTF-8 के रूप में संसाधित किया जाएगा, और फ़ाइलों को कच्चे बाइट्स के रूप में एन्कोड किया जाएगा, जो बाइनरी सामग्री की ऑफ़लाइन डिलीवरी के लिए उपयुक्त है।
- डिकोडिंग परिणाम को टेक्स्ट और हेक्साडेसिमल के बीच स्विच किया जा सकता है: जब पता पेलोड, हैश टुकड़े या गैर-UTF-8 डेटा का सामना करना पड़ता है, तो आप विकृत वर्णों में नहीं फंसेंगे।
- Bitcoin, Flickr और कस्टम 58-वर्ण वर्ण तालिका का समर्थन करता है: मौजूदा सिस्टम के साथ संगतता या निजी शॉर्ट कोड समाधानों को डीबग करने के लिए उपयुक्त।
- ब्राउज़र स्थानीय प्रसंस्करण और परिणाम डाउनलोडिंग: एन्कोडिंग, डिकोडिंग और सत्यापन सभी स्थानीय रूप से पूरे होते हैं, और आउटपुट को सीधे कॉपी या डाउनलोड किया जा सकता है।
Base58, Base58Check, Base64 कैसे चुनें?
वे दोनों बाइट्स को पास करने योग्य टेक्स्ट में बदल सकते हैं, लेकिन फोकस पूरी तरह से अलग है। कुंजी यह नहीं है कि "कौन अधिक उन्नत है", बल्कि यह है कि क्या आप मैन्युअल ट्रांसक्रिप्शन और त्रुटि निवारण को अधिक महत्व देते हैं, या क्या आप कॉम्पैक्टनेस और सार्वभौमिक अनुकूलता को महत्व देते हैं।
| योजना | अधिक उपयुक्त | लाभ | नोट |
|---|---|---|---|
| Base64 एन्कोडिंगBase64 यूआरएल सुरक्षित | |||
| Base32 एन्कोडिंग |
Best Practices
मैन्युअल रूप से प्रतिलेखन या ग्राहक सेवा व्याख्या करते समय प्राथमिकता दी जाएगी Base58Check
जब तक स्ट्रिंग को निर्देशित किया जाएगा, स्क्रीनशॉट किया जाएगा, चैट में अग्रेषित किया जाएगा, या मैन्युअल रूप से पुनः दर्ज किया जाएगा, एक चेकसम लगभग हमेशा खोलने लायक होता है। यह सभी त्रुटियों को नहीं रोकेगा, लेकिन यह "ऐसा लगता है कि यह सही है, लेकिन वास्तव में इसमें एक चरित्र की कमी है" स्थितियों को काफी हद तक कम कर देगा।
जब डिकोड किया गया परिणाम टेक्स्ट नहीं है, तो पहले हेक्साडेसिमल को देखें
पता पेलोड, हैश, छवि हेडर और संपीड़ित टुकड़े जैसी सामग्री स्वाभाविक रूप से UTF-8 होने की गारंटी नहीं है। पहले मूल बाइट्स की पुष्टि करने के लिए हेक्साडेसिमल पर स्विच करें, और फिर तय करें कि फ़ाइल को कनवर्ट करना है, हैशिंग जारी रखना है, या इसे प्रसंस्करण के लिए अन्य टूल को सौंपना है।
हेक्स उपकरणबड़ी फ़ाइलों के लिए दीर्घकालिक भंडारण प्रारूप के रूप में Base58 का उपयोग न करें
Base58 छोटी स्ट्रिंग और छोटे और मध्यम पेलोड के लिए अधिक उपयुक्त है। फ़ाइल जितनी बड़ी होगी, आउटपुट उतना लंबा होगा, कॉपी करना कम सुविधाजनक होगा, और रिच टेक्स्ट, चैट टूल या लॉग में काटे जाने की संभावना अधिक होगी।
चरित्र तालिका को अनुकूलित करते समय, इसे सभी उत्पादन टर्मिनलों के साथ सिंक्रनाइज़ किया जाना चाहिए।
जब तक एक सर्वर, स्क्रिप्ट या क्लाइंट एक अलग ऑर्डर का उपयोग करता है, एन्कोडिंग और डिकोडिंग परिणाम सभी गलत तरीके से संरेखित होंगे। पहले 58-वर्ण अनुक्रम को ठीक करें, और फिर इसे प्रोटोकॉल या परीक्षण नमूने में लिखें।
जब छोटे और अधिक सामान्य इंटरफ़ेस ट्रांसमिशन की आवश्यकता हो तो तुलना को प्राथमिकता दें Base64URL।
Base58 का लाभ यह है कि इसे पढ़ना आसान है और भ्रम से बचाता है, लेकिन यह आकार में सबसे छोटा नहीं है। यदि स्ट्रिंग्स को मुख्य रूप से प्रोग्रामों के बीच पारित किया जाता है और मनुष्यों द्वारा ट्रांसक्राइब नहीं किया जाएगा, तो Base64URL आम तौर पर अधिक कॉम्पैक्ट और सामान्य है।
Base64 यूआरएल सुरक्षितसामान्य प्रश्न
मुझे Base58 और Base64 में से किसे चुनना चाहिए?
यदि स्ट्रिंग को पढ़ना, कॉपी करना या दूसरों को इनपुट करना है, तो Base58 को प्राथमिकता दी जाती है; यदि यह मुख्य रूप से प्रोग्राम, इंटरफेस, JSON या यूआरएल पैरामीटर में प्रसारित होता है, तो आमतौर पर Base64 या Base64URL अधिक कॉम्पैक्ट होता है। Base58 का फोकस पठनीयता और विरोध-विरोधी है, न कि सबसे छोटा आउटपुट।
Base58Check यह किस समस्या का समाधान करता है?
यह मूल पेलोड के बाद 4-बाइट चेकसम जोड़ देगा, और फिर इसे समग्र रूप से Base58 के रूप में एन्कोड करेगा। इस तरह, जब उपयोगकर्ता कोई शब्द भूल जाता है, कोई टाइपो त्रुटि करता है, या गलत क्रम में लिखता है, तो टूल चुपचाप अर्थहीन परिणामों की एक श्रृंखला प्राप्त करने के बजाय, अधिक आसानी से समय पर त्रुटि की रिपोर्ट करेगा।
क्या यह पृष्ठ बिटकॉइन पते सत्यापित कर सकता है?
यह सत्यापित करना संभव है कि क्या Base58Check परत सही है, इसलिए यह जांचना उपयुक्त है कि पुराने Base58 पते या WIF निर्यात स्ट्रिंग में स्पष्ट इनपुट त्रुटियां हैं या नहीं। हालाँकि, यह आगे पते के उपयोग, नेटवर्क प्रकार और स्क्रिप्ट प्रकार को निर्धारित नहीं करेगा, न ही यह `bc1...` जैसे Bech32 पते का समर्थन करता है।
डिकोडिंग के बाद कोड विकृत क्यों है, या प्रॉम्प्ट UTF-8 क्यों नहीं है?
क्योंकि Base58 कच्चे बाइट्स को डिकोड करता है, जरूरी नहीं कि पढ़ने योग्य पाठ हो। यह एड्रेस पेलोड, हैश, इमेज हेडर या मनमाने बाइनरी डेटा के साथ हो सकता है। कच्चे बाइट्स को देखने के लिए हेक्साडेसिमल पर स्विच करें, और आप आमतौर पर विश्लेषण जारी रख सकते हैं।
क्या फ़ाइल Base58 एन्कोडिंग और डिकोडिंग का समर्थन करती है?
समर्थन. आप एन्कोडिंग के दौरान फ़ाइलें अपलोड कर सकते हैं, और पृष्ठ मूल बाइट्स के अनुसार Base58 में परिवर्तित हो जाएगा; आप डिकोडिंग के बाद मूल परिणाम को वापस डाउनलोड भी कर सकते हैं। फ़ाइल जितनी बड़ी होगी, आउटपुट स्ट्रिंग उतनी ही लंबी होगी, जो इसे छोटे से मध्यम कार्यभार या डिबगिंग परिदृश्यों के लिए अधिक उपयुक्त बनाती है।
कौन सी वर्ण तालिकाएँ समर्थित हैं?
वर्तमान में Bitcoin Base58, Flickr Base58, और आपकी अनुकूलित 58-वर्ण वर्ण तालिका का समर्थन करता है। जब तक एन्कोडिंग अंत और डिकोडिंग अंत बिल्कुल समान वर्ण अनुक्रम का उपयोग करते हैं, वे एक दूसरे के साथ संवाद कर सकते हैं।
क्या यह IPFS CID या अन्य ऑन-चेन स्ट्रिंग्स को संभाल सकता है?
CIDv0 ऐसे मानक Base58btc स्ट्रिंग्स को सीधे एन्कोड या डिकोड किया जा सकता है; लेकिन पेज मल्टीबेस, मल्टीकोडेक या विशिष्ट ऑन-चेन सिमेंटिक्स को पार्स करना जारी नहीं रखेगा। Bech32 `bc1...` जैसे तार भी Base58 के दायरे से संबंधित नहीं हैं।
क्या अपलोड की गई सामग्री सर्वर पर भेजी जाएगी?
नहीं, टेक्स्ट, फ़ाइलें, Base58Check चेकसम परिणाम सभी ब्राउज़र में स्थानीय रूप से संसाधित होते हैं, जो संवेदनशील लोड, ऑफ़लाइन परीक्षण डेटा, या फ़ाइल टुकड़े को डीबग करने के लिए उपयुक्त है जो अपलोड करने में असुविधाजनक हैं।
समस्या निवारण
प्रॉम्प्ट में अवैध Base58 अक्षर शामिल हैं
वर्तमान वर्ण तालिका 0, O, I, l जैसे बहिष्कृत वर्णों को स्वीकार नहीं करती है, या हो सकता है कि आपने इसे गलत तरीके से काट दिया हो Bitcoin / Flickr / कस्टम वर्ण तालिका। पहले स्ट्रिंग के स्रोत की पुष्टि करें, और फिर जांचें कि क्या वर्ण तालिका दूसरे पक्ष के अनुरूप है।
Base58Check सत्यापन विफल रहा
इसका आमतौर पर मतलब है कि स्ट्रिंग कम कॉपी की गई थी, अक्षर गलत तरीके से लिखे गए थे, या यह Base58Check ही नहीं है। पहले पुष्टि करें कि क्या आपको वास्तव में Base58Check खोलने की आवश्यकता है, और फिर वापस जाएं और जांचें कि मूल सामग्री पूरी है या नहीं।
कस्टम वर्ण तालिका सहेजी नहीं जा सकती
कस्टम वर्ण तालिका बिल्कुल 58 वर्ण लंबी होनी चाहिए, और प्रत्येक वर्ण केवल एक बार दिखाई देना चाहिए। गुम या दोहराए गए वर्णों से बचने के लिए मानक Bitcoin वर्ण तालिका से शुरुआत करने की अनुशंसा की जाती है।
डिकोड किया गया परिणाम टेक्स्ट नहीं है
यह आवश्यक रूप से एक बग नहीं है. कई Base58 स्ट्रिंग्स में मूल रूप से बाइनरी पेलोड होते हैं। डिकोडिंग परिणामों को फ़ाइल के रूप में देखने या डाउनलोड करने के लिए हेक्साडेसिमल पर स्विच करें, और फिर अगले चरण पर निर्णय लें।
शब्दकोश
- Base58
- 58-बिट टेक्स्ट एन्कोडिंग जो आसानी से भ्रमित होने वाले वर्णों जैसे 0, O, I, l आदि को हटा देती है, जो मैन्युअल इनपुट और कॉपी शेयरिंग के लिए उपयुक्त है।
- Base58Check
- मूल पेलोड के बाद एक 4-बाइट चेकसम जोड़ा जाता है, और फिर संपूर्ण Base58 एन्कोडिंग का उपयोग पहले इनपुट त्रुटियों का पता लगाने के लिए किया जाता है।
- पेलोड
- एन्कोडिंग से पहले Base58 या Base58Check को मूल बाइट सामग्री बनाएं, जो टेक्स्ट, फ़ाइल बाइट्स, पता पेलोड या कोई बाइनरी डेटा हो सकता है।
- चेकसम
- त्वरित त्रुटि जांच के लिए छोटी उंगलियों के निशान। Base58Check SHA-256 को दोगुना कर देगा और चेकसम के रूप में पहले 4 बाइट्स लेगा।
- Bitcoin Base58 वर्ण तालिका
- सबसे आम Base58 वर्ण तालिका: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz।
- Flickr Base58
- Flickr Base58 का एक और सेट इस्तेमाल किया गया है, केस ऑर्डर Bitcoin संस्करण से अलग है, इसलिए समान बाइट्स को अलग-अलग आउटपुट मिलेंगे।
वर्तमान पृष्ठ द्वारा समर्थित वर्ण तालिका
बाइट्स के समान सेट के लिए, जब तक वर्ण तालिका क्रम भिन्न है, अंतिम Base58 आउटपुट भिन्न होगा।
| चरित्र तालिका | सामान्य उपयोग | विवरण |
|---|---|---|
आपको हेक्साडेसिमल देखने पर कब स्विच करना चाहिए?
Base58 डिकोड किए गए परिणाम को हमेशा सीधे पाठ में नहीं पढ़ा जा सकता है।
| सामग्री का सामना करना पड़ा | देखने का एक बेहतर तरीका | कारण |
|---|---|---|
Authoritative References
- Bitcoin WikiBitcoin विकी - Base58Check एन्कोडिंग
- Wikipediaविकिपीडिया - Base58
- GitHubIPFS सीआईडी विशिष्टता
- GitHubBitcoin BIP-0173 Bech32
- सेफ स्ट्रिंग कंपैरिजन
- बाइनरी रूपांतरण
- सीज़र सिफर
- मोर्स कोड
- हेक्साडेसिमल
- Base64 to Video
- इमेज से Base64
- Base64 से इमेज
- टेक्स्ट से Base64
- Base64 से टेक्स्ट
- फ़ाइल हैश जाँचकर्ता
- फ़ाइल से Base64
- Base64 से फ़ाइल
- ऑडियो को Base64 में बदलें
- Base64 से ऑडियो
- AES एन्क्रिप्ट और डिक्रिप्ट
- DES एन्क्रिप्शन डिक्रिप्शन
- Base32 एन्कोडर डिकोडर
- Base58 एन्कोडिंग और डिकोडिंग
- Base64 एन्कोड
- Base64 डिकोड
- Base64 तुलनाकर्ता
- Base64 स्प्लिट
- Base64 बहु-पंक्ति विलय
- Base64 फ़ॉर्मेटिंग
- Base64 फ़ॉर्मेट वैलिडेशन
- Base64 बैच एन्कोडिंग
- Base64 बैच डिकोड
- Base64 क्लीनर
- Base64 पैडिंग टूल
- Base64 लंबई स्टैटिस्टिक्स
- Base64 से Hex
- Base64 DataURL कन्वर्टर
- Base64-Hex कनवर्टर
- Base85 कोडेक
- HMAC जनरेशन और वेरिफिकेशन
- PBKDF2 की डेरिवेशन
- MD5 हैश
- SHA-256 हैश
- SHA1 हैश
- SHA512 हैश
- JWT टूल
- HTML एन्टिटी एन्कोड और डिकोड
- Unicode एस्केप
- URL एन्कोडिंग
- Base64 URL Safe
- MIME Base64
- जावा ऑबफस्केशन
- JS ऑब्फस्केट
- PHP ऑब्फस्केट
- Python ऑब्फस्केट
- वीडियो से Base64 कनवर्टर