Base64 एन्कोडिंग
मुफ्त ऑनलाइन Base64 एन्कोड और डिकोड टूल। तीन वेरिएंट के साथ UTF-8/ASCII/ISO-8859-1 कैरेक्टर सेट का समर्थन करता है: Standard, URL-Safe और MIME। रीयल-टाइम डेटा विस्तार अनुपात दिखाता है, MIME लाइन ब्रेक RFC 2045 मानक के अनुरूप है।
मुफ्त ऑनलाइन Base64 एन्कोड और डिकोड टूल। तीन वेरिएंट के साथ UTF-8/ASCII/ISO-8859-1 कैरेक्टर सेट का समर्थन करता है: Standard, URL-Safe और MIME। रीयल-टाइम डेटा विस्तार अनुपात दिखाता है, MIME लाइन ब्रेक RFC 2045 मानक के अनुरूप है।
नहीं। Base64 केवल टेक्स्ट को एक अन्य प्रतिवर्तनीय प्रतिनिधित्व रूप में परिवर्तित करता है; कोई भी इसे मूल टेक्स्ट में वापस डिकोड कर सकता है। यदि संवेदनशील डेटा (पासवर्ड, टोकन) से संबंधित है, तो AES जैसी वास्तविक एन्क्रिप्शन योजना का उपयोग करें। Base64 केवल डेटा प्रारूप परिवर्तन के लिए उपयुक्त है, बाइनरी डेटा को टेक्स्ट सिस्टम के माध्यम से आसानी से भेजने में मदद करता है।
AES एन्क्रिप्शन टूलBase64 एन्कोडिंग मूल डेटा वॉल्यूम को लगभग 33% बढ़ा देती है। ऐसा इसलिए है क्योंकि प्रत्येक 3 बाइट (24 बिट) को 4 Base64 कैरेक्टर में एन्कोड किया जाता है। उदाहरण के लिए, 100 बाइट का टेक्स्ट एन्कोड करने के बाद लगभग 133 बाइट हो जाएगा। डेटा आकार का अनुमान लगाने के लिए विस्तार अनुपात टूल के नीचे रीयल-टाइम में दिखाया जाता है। उदाहरण: `Hello` → `SGVsbG8=` (वॉल्यूम +33%)।
Base64 सांख्यिकी टूलStandard मानक Base64 है जो A-Z, a-z, 0-9, +, / कैरेक्टर का उपयोग करता है। URL-Safe +/ को -_ से बदल देता है, जिससे यह URL पैरामीटर और JWT टोकन के लिए उपयुक्त हो जाता है। MIME हर 76 कैरेक्टर पर लाइन ब्रेक डालता है, RFC 2045 ईमेल मानक के अनुरूप है, ईमेल अटैचमेंट और मल्टी-लाइन टेक्स्ट के लिए उपयुक्त है।
URL-Safe Base64MIME Base64JWT Base64URL एन्कोडिंग (URL-Safe वेरिएंट) का उपयोग करता है। URL-Safe मोड का चयन करने के बाद, डिकोड करने के लिए बस JWT के पहले खंड (हेडर) या दूसरे खंड (पेलोड) को पेस्ट करें। नोट: JWT का तीसरा खंड हस्ताक्षर है और इसे यहां डिकोड या सत्यापित नहीं किया जाना चाहिए।
JWT टूलBase64 एन्कोडिंग परिणाम की लंबाई 4 का गुणज होनी चाहिए। जब इनपुट लंबाई 3 का गुणज नहीं होती है, तो अंत को = कैरेक्टर से भर दिया जाता है। URL-Safe वेरिएंट padding का उपयोग नहीं करता है। टूल स्वचालित रूप से padding को संभालता है और डिकोड करते समय = कैरेक्टर को स्वचालित रूप से हटा देता है।
Base64 Padding टूलbtoa और atob ब्राउज़र के मूल API हैं जो Latin-1 (ISO-8859-1) कैरेक्टर सेट के साथ काम करते हैं, जहां प्रत्येक कैरेक्टर 1 बाइट लेता है। चीनी कैरेक्टर UTF-8 में 3 बाइट लेते हैं, इसलिए सीधे इनपुट त्रुटि का कारण बनेगा। समाधान यह है कि पहले encodeURIComponent का उपयोग करके चीनी को %xx UTF-8 बाइट अनुक्रम पैटर्न में बदलें, फिर unescape का उपयोग करके Latin-1 स्ट्रिंग में बदलें, और अंत में एन्कोड करने के लिए btoa का उपयोग करें।
Data URI एक URI प्रारूप है जो छोटी फ़ाइलों को सीधे URL में एम्बेड करने की अनुमति देता है, सिंटैक्स: `data:[<mediatype>][;base64],<data>`। उदाहरण के लिए: `data:image/png;base64,iVBORw0KGgo...`। अक्सर HTTP अनुरोधों की संख्या को कम करने के लिए छोटे आइकन, CSS बैकग्राउंड इमेज आदि को एम्बेड करने के लिए उपयोग किया जाता है। लेकिन Base64 वॉल्यूम को 33% बढ़ा देता है, इसलिए केवल छोटी फ़ाइलों के लिए उपयुक्त है; बड़ी फ़ाइलों को सामान्य URL का उपयोग करना चाहिए।
Data URI टूलBase64 से छविBase64 64 प्रिंट करने योग्य ASCII कैरेक्टर पर आधारित बाइनरी डेटा को टेक्स्ट में एन्कोड करने की एक योजना है, जिसे पहली बार RFC 2045 (MIME मानक) द्वारा परिभाषित किया गया था। Base64 प्रत्येक 3 बाइट (24 बिट) को 4 Base64 कैरेक्टर (A-Z, a-z, 0-9, +, /) में परिवर्तित करता है, जिससे बाइनरी डेटा केवल टेक्स्ट का समर्थन करने वाले सिस्टम जैसे HTTP हेडर, JSON पेलोड, XML दस्तावेज़ या URL क्वेरी पैरामीटर के माध्यम से सुरक्षित रूप से भेजा जा सकता है।
**Base64 एन्क्रिप्शन नहीं है**, यह केवल डेटा प्रारूप परिवर्तन प्रदान करता है, कोई भी इसे आसानी से डिकोड कर सकता है। यदि आपको संवेदनशील डेटा की सुरक्षा करनी है, तो AES जैसी वास्तविक एन्क्रिप्शन योजना का उपयोग करें। Base64 के सामान्य अनुप्रयोगों में शामिल हैं: HTTP Basic Authentication (`Authorization: Basic dXNlcjpwYXNz`), JWT टोकन के हेडर और पेलोड खंड (Base64URL प्रारूप), Data URI (`data:image/png;base64,...`), ईमेल अटैचमेंट की MIME एन्कोडिंग आदि।
**URL-Safe Base64** (RFC 4648 §5) मानक Base64 के +/ को -_ से बदल देता है और आमतौर पर padding = को छोड़ देता है। यह एन्कोडिंग परिणाम को URL, फ़ाइल पथ या JSON फ़ील्ड में सुरक्षित रूप से प्रदर्शित होने की अनुमति देता है। JWT टोकन, OAuth PKCE code_verifier और AWS Signature V4 सभी URL-Safe Base64 एन्कोडिंग का उपयोग करते हैं।
**MIME लाइन ब्रेक** RFC 2045 मानक है जो निर्धारित करता है कि प्रत्येक पंक्ति 76 कैरेक्टर से अधिक नहीं होनी चाहिए। जब Base64 सामग्री का उपयोग ईमेल या प्रदर्शन के लिए लाइन ब्रेक की आवश्यकता वाले कुछ परिदृश्यों में किया जाता है, तो MIME वेरिएंट स्वचालित रूप से हर 76 कैरेक्टर पर लाइन ब्रेक कैरेक्टर (`\n`) डालता है। यह ईमेल अटैचमेंट ट्रांसमिशन के लिए मानक प्रारूप है।
टूल ब्राउज़र के मूल **btoa/atob API** का उपयोग सुरक्षित UTF-8 प्रसंस्करण तर्क के साथ करता है, यह सुनिश्चित करता है कि चीनी, जापानी और इमोजी जैसे मल्टी-बाइट कैरेक्टर सही ढंग से एन्कोड किए गए हैं। सभी गणनाएं स्थानीय रूप से की जाती हैं, डेटा किसी भी सर्वर पर नहीं भेजा जाता है। पूरी प्रक्रिया के दौरान कोई बाहरी अनुरोध नहीं है यह सत्यापित करने के लिए ब्राउज़र डेवलपर टूल में नेटवर्क पैनल खोलें।
| विशेषता | Standard | URL-Safe | MIME |
|---|---|---|---|
| विशेष कैरेक्टर | + / | - _ | + / |
| Padding(=) | उपयोग करता है | आमतौर पर छोड़ देता है | उपयोग करता है |
| लाइन ब्रेक | नहीं | नहीं | हर 76 कैरेक्टर पर लाइन |
| मानक | RFC 4648 §4 | RFC 4648 §5 | RFC 2045 |
| सामान्य परिदृश्य | Data URI, सामान्य एन्कोडिंग | JWT, URL पैरामीटर, फ़ाइल नाम | ईमेल अटैचमेंट, SMTP ट्रांसमिशन |
| एन्कोडिंग | कैरेक्टर संख्या | कैरेक्टर सेट विशेषताएं | डेटा विस्तार | सामान्य उपयोग |
|---|---|---|---|---|
Base16 (Hex) | 16 | 0-9, A-F | 100% | डीबगिंग, हैश प्रदर्शन |
Base32 | 32 | A-Z, 2-7(बिना भ्रम के बड़े अक्षर) | 60% | DNS, TOTP कुंजियाँ, QR कोड |
Base58 | 58 | आसानी से भ्रमित होने वाले कैरेक्टर 0/O/I/l को बाहर करता है | 38% | Bitcoin पते, क्रिप्टोकरेंसी |
Base62 | 62 | A-Z, a-z, 0-9 | 34% | URL शॉर्टनर, ID एन्कोडिंग |
Base64 | 64 | A-Z, a-z, 0-9, +, / | 33% | Data URI, MIME, JWT(URL-Safe वेरिएंट) |
// 编码(支持 UTF-8 中文)
function b64Encode(str) {
return btoa(unescape(encodeURIComponent(str)));
}
// 解码(支持 UTF-8 中文)
function b64Decode(str) {
return decodeURIComponent(escape(atob(str)));
}
// URL-Safe 编码(用于 JWT / OAuth)
function b64UrlEncode(str) {
return btoa(unescape(encodeURIComponent(str)))
.replace(/\+/g, '-')
.replace(/\//g, '_')
.replace(/=+$/, '');
}
console.log(b64Encode('Hello 世界')); // SGVsbG8g5LiW55WM
console.log(b64Decode('SGVsbG8g5LiW55WM')); // Hello 世界import base64
# Standard 编码(UTF-8)
encoded = base64.b64encode('Hello 世界'.encode('utf-8'))
print(encoded.decode()) # SGVsbG8g5LiW55WM
# Standard 解码
decoded = base64.b64decode(encoded).decode('utf-8')
print(decoded) # Hello 世界
# URL-Safe 编码(用于 JWT / OAuth)
url_safe = base64.urlsafe_b64encode('Hello 世界'.encode('utf-8'))
print(url_safe.decode()) # SGVsbG8g5LiW55WM(无 padding 需手动去除)
# 去除 padding(JWT 标准做法)
url_safe_no_pad = url_safe.decode().rstrip('=')
print(url_safe_no_pad)import java.nio.charset.StandardCharsets;
import java.util.Base64;
public class Base64Example {
public static void main(String[] args) {
String text = "Hello 世界";
// Standard 编码
String encoded = Base64.getEncoder()
.encodeToString(text.getBytes(StandardCharsets.UTF_8));
System.out.println(encoded); // SGVsbG8g5LiW55WM
// Standard 解码
String decoded = new String(
Base64.getDecoder().decode(encoded), StandardCharsets.UTF_8);
System.out.println(decoded); // Hello 世界
// URL-Safe 编码(用于 JWT / URL)
String urlSafe = Base64.getUrlEncoder().withoutPadding()
.encodeToString(text.getBytes(StandardCharsets.UTF_8));
System.out.println(urlSafe);
// MIME 编码(76字符换行)
String mime = Base64.getMimeEncoder()
.encodeToString(text.getBytes(StandardCharsets.UTF_8));
}
}