उपयोग कैसे करें
- टेक्स्ट को Base62 में बदलने के लिए “एनकोड करें” चुनें, या Base62 को वापस टेक्स्ट में बदलने के लिए “डिकोड करें” चुनें।
- “वर्णमाला” में वह क्रम चुनें जो आपके सिस्टम से मेल खाता हो: 0-9 A-Z a-z (डिफ़ॉल्ट) या 0-9 a-z A-Z।
- अपना इनपुट टाइप या पेस्ट करें, या कोई छोटी फ़ाइल खोलें (लगभग 20 KB तक)।
- परिणाम कॉपी करें या उसे फ़ाइल के रूप में डाउनलोड करें।
Base62 क्या है?
Base62 दस अंकों, 26 बड़े अक्षरों और 26 छोटे अक्षरों का उपयोग करता है। केवल अक्षरों और अंकों से बनी यह सबसे बड़ी वर्णमाला है, इसलिए परिणाम को URL, फ़ाइल नामों, डेटाबेस कुंजियों या कोड के आइडेंटिफ़ायर में किसी एस्केपिंग की ज़रूरत नहीं होती। हर अक्षर में लगभग 5.95 बिट होते हैं, जिससे आउटपुट इनपुट के आकार का लगभग 1.34 गुना होता है, यानी लगभग Base64 जितना ही कॉम्पैक्ट, लेकिन +, /, =, - या _ के बिना।
62 दो की घात नहीं है, इसलिए यह टूल Base58 और Base36 की तरह पूरे इनपुट को एक बड़ी संख्या मानता है और उसे आधार 62 में बदलता है। हर शुरुआती शून्य बाइट को शुरुआत में एक 0 के रूप में लिखा जाता है, ताकि एनकोड करके वापस डिकोड करने पर भी वह बना रहे। इनपुट लगभग 20 KB तक सीमित है, क्योंकि बड़े डेटा पर यह गणना धीमी हो जाती है।
Base62 का कोई एक मानक नहीं है
Base64 के विपरीत, Base62 का कोई RFC नहीं है, और इसके इम्प्लीमेंटेशन कुछ ऐसी बातों में अलग होते हैं जिनसे उनका आउटपुट आपस में संगत नहीं रहता:
- वर्णमाला का क्रम। यह टूल
0-9A-Za-z(डिफ़ॉल्ट) और0-9a-zA-Zदेता है। कुछ दूसरी लाइब्रेरी अक्षरों को अंकों से पहले रखती हैं। - शुरुआती शून्य। कुछ इम्प्लीमेंटेशन इस टूल की तरह हर शुरुआती शून्य बाइट के लिए एक
0रखते हैं, कुछ उन्हें हटा देते हैं, और निश्चित लंबाई वाले फ़ॉर्मैट परिणाम को एक तय चौड़ाई तक पैड करते हैं। - क्या एनकोड किया जाता है। कई Base62 फ़ंक्शन बाइट के क्रम के बजाय किसी पूर्णांक, जैसे डेटाबेस ID, को एनकोड करते हैं। कुछ अन्य डेटा को निश्चित आकार के ब्लॉक में बाँटते हैं।
अगर किसी दूसरे सिस्टम की स्ट्रिंग यहाँ डिकोड होकर बेतुका डेटा देती है, तो दूसरी वर्णमाला वाला विकल्प आज़माएँ। अगर फिर भी काम न बने, तो वह सिस्टम शायद कोई अलग विधि इस्तेमाल करता है।
Base62 का उपयोग कहाँ होता है
URL शॉर्टनर अपने-आप बढ़ने वाली ID को एक छोटे कोड में बदलते हैं: सात Base62 अक्षरों से 3.5 लाख करोड़ (3.5 ट्रिलियन) से ज़्यादा मान दर्शाए जा सकते हैं। KSUID जैसी क्रम से लगाई जा सकने वाली ID 27 अक्षरों के निश्चित Base62 रूप का उपयोग करती हैं, और कई सेवाएँ API कुंजियों और टोकन के लिए Base62 इस्तेमाल करती हैं, क्योंकि डबल क्लिक से पूरी स्ट्रिंग चुन ली जाती है और उसे कहीं भी पेस्ट किया जा सकता है। किसी एक पूर्णांक को बदलने के लिए नंबर बेस कन्वर्टर का उपयोग करें, या कोड की कुछ पंक्तियाँ लिखें:
// JavaScript: पूर्णांक (BigInt) से Base62
const A = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
function toBase62(n) {
let s = '';
do { s = A[Number(n % 62n)] + s; n /= 62n; } while (n > 0n);
return s;
}
toBase62(123456789n); // '8M0kX'
तकनीकी विवरण
| वर्णमाला | 0-9 A-Z a-z |
|---|---|
| आउटपुट का आकार | लगभग 134% (बड़ी संख्या का रूपांतरण) |
| पैडिंग | कोई नहीं |
| मानक | कोई औपचारिक मानक नहीं |
| केस-संवेदी | हाँ |
उदाहरण
| इनपुट (UTF-8) | आउटपुट |
|---|---|
Hello, World! | 1wJfrzvdbtXUOlUjUf |
Base64.is | NWxjrFq4r3rv |
你好 | 19PqtKE1t |
अक्सर पूछे जाने वाले प्रश्न
क्या Base62 URL-सुरक्षित है?
मेरी Base62 स्ट्रिंग डिकोड होकर ग़लत टेक्स्ट क्यों देती है?
Base62 इम्प्लीमेंटेशन वर्णमाला के क्रम और विधि में अलग होते हैं। 0-9A-Za-z और 0-9a-zA-Z वर्णमालाओं के बीच बदलकर देखें। अगर दोनों में से कोई काम न करे, तो स्ट्रिंग शायद किसी पूर्णांक से या किसी दूसरे एल्गोरिदम से बनाई गई है।
क्या Base62 केस-संवेदी है?
हाँ। बड़े और छोटे अक्षर अलग-अलग मानों को दर्शाते हैं, इसलिए Base62 स्ट्रिंग को कभी भी बड़े या छोटे अक्षरों में नहीं बदलना चाहिए।