Base64 पैडिंग टूल

इनपुट
चरित्र भरें: 0 =

ब्राउज़र में RFC 4648 मानक के अनुसार Base64 अंत में आवश्यक = पैडिंग की संख्या की स्वत: गणना करें। पैडिंग जोड़ना और पैडिंग हटाना दोनों दिशाओं में रूपांतरण, मानक-अनुरूप न होने वाले Base64 स्ट्रिंग्स की मरम्मत, सब कुछ स्थानीय रूप से किया जाता है।

संबंधित सुझाव

Base64 पैडिंग क्या है?

Base64 पैडिंग RFC 4648 मानक द्वारा निर्दिष्ट '=' वर्ण है, जिसका उपयोग Base64 आउटपुट लंबाई को 4 के गुणज बनाने के लिए किया जाता है। Base64 3 बाइट्स (24 बिट्स) को 4 वर्णों में मैप करता है, लेकिन अंतिम 3 बाइट्स से कम होने पर = से पैडिंग जोड़ना आवश्यक है, अन्यथा डिकोडर अंतिम वास्तविक बाइट्स की संख्या निर्धारित नहीं कर सकता।

पैडिंग नियम: ① मूल बाइट्स संख्या mod 3 = 0 → अंत में 0 =; ② mod 3 = 1 → अंत में 2 = जोड़ें; ③ mod 3 = 2 → अंत में 1 = जोड़ें। किसी भी Base64 स्ट्रिंग की लंबाई mod 4 का परिणाम गायब = की संख्या के बराबर होना चाहिए।

पैडिंग क्यों आवश्यक है: Base64 डिकोडिंग के लिए स्पष्ट सीमा चाहिए। पैडिंग डिकोडर को बताती है कि अंत के = कितने वास्तविक बाइट्स से मेल खाते हैं, जिससे अस्पष्टता से बचा जा सके। पैडिंग के बिना, 1 बाइट और 2 बाइट्स का इनपुट समान लंबाई के Base64 में एन्कोड हो सकता है, जिससे बाइट्स की संख्या पता लगाना असंभव हो जाता है।

व्यावहारिक अनुप्रयोग: अधिकांश प्रोटोकॉल (Data URL, MIME, JWT, कॉन्फ़िगरेशन फ़ाइलें) पैडिंग का सख्ती से पालन करते हैं; कुछ परिदृश्यों (URL पथ, फ़ाइल नाम, शॉर्ट लिंक) में स्थान बचाने के लिए पैडिंग छोड़ दी जाती है। यह टूल दोनों दिशाओं में रूपांतरण का समर्थन करता है।

उपयोग के मामले

  • Base64 डिकोडिंग त्रुटि को ठीक करना (जैसे InvalidCharacterError या लंबाई 4 का गुणज न हो), पहले = जोड़ें फिर डिकोड करें।
  • API, JWT, लॉग से मिले Base64 आउटपुट को संसाधित करते समय अतिरिक्त नई पंक्तियों और गायब पैडिंग को हटाएँ।
  • Data URL बनाते समय सुनिश्चित करें कि Base64 भाग सख्ती से RFC 4648 के अनुरूप हो, ताकि ब्राउज़र या तृतीय-पक्ष टूल डिकोडिंग में विफल न हों।
  • JWT टोकन, कॉन्फ़िगरेशन फ़ाइलें, API क्रेडेंशियल आदि के लिए पैडिंग को तुरंत सत्यापित करें और पूरा करें।
  • URL, फ़ाइल नाम आदि के लिए पैडिंग हटाकर वर्ण बचाएँ (बशर्ते प्रोटोकॉल इसका समर्थन करता हो)।
  • Base64 एन्कोडिंग सिद्धांत सीखते समय, इनपुट बाइट्स की संख्या और पैडिंग की मात्रा के बीच संबंध का अध्ययन करें।

उपयोग कैसे करें

  1. संसाधित करने के लिए Base64 स्ट्रिंग पेस्ट करें या दर्ज करें (पैडिंग के साथ या बिना, नई पंक्तियों सहित)।
  2. मोड चुनें: पैडिंग जोड़ना (अंत में = जोड़ें) या पैडिंग हटाना (अंत के = हटाएँ)।
  3. टूल स्वत: गणना करता है और परिणाम दिखाता है, वास्तविक समय में वर्णों की संख्या और पैडिंग में वृद्धि/कमी प्रदर्शित करता है।
  4. परिणाम को क्लिपबोर्ड पर कॉपी करें, या बाद में उपयोग के लिए .txt फ़ाइल के रूप में डाउनलोड करें।

विशेषताएं

  • पैडिंग संख्या की स्वत: गणना: वर्तमान इनपुट के लिए आवश्यक = की संख्या और मौजूदा = की संख्या के अंतर को वास्तविक समय में दिखाता है।
  • पैडिंग जोड़ने का मोड: किसी भी Base64 स्ट्रिंग को 4 के गुणज लंबाई तक पूरा करता है, लंबाई की त्रुटियों को एक क्लिक में ठीक करता है।
  • पैडिंग हटाने का मोड: अंत के = वर्णों को हटाता है, URL, फ़ाइल नाम आदि के लिए उपयुक्त जहाँ वर्ण बचाने की आवश्यकता होती है।
  • नई पंक्तियों और रिक्त स्थान की स्वत: अनदेखी: नई पंक्तियों वाले Base64 (ईमेल, JWT आउटपुट से) को पेस्ट करने पर भी सही ढंग से संसाधित करता है।
  • वास्तविक समय वर्ण गणना: इनपुट वर्णों की संख्या, आउटपुट वर्णों की संख्या और पैडिंग की वृद्धि/कमी दिखाता है।
  • एक-क्लिक कॉपी/डाउनलोड: परिणाम को एक क्लिक में क्लिपबोर्ड पर कॉपी किया जा सकता है या .txt फ़ाइल के रूप में डाउनलोड किया जा सकता है।
  • स्थानीय ब्राउज़र प्रसंस्करण: सभी गणना ब्राउज़र में होती है, मूल सामग्री किसी भी सर्वर पर अपलोड नहीं की जाती।

Best Practices

पैडिंग जोड़ने से पहले पुष्टि करें कि इनपुट वास्तविक Base64 है

यह टूल केवल अंत में = जोड़ता है, अमान्य वर्णों को साफ नहीं करता। यदि इनपुट में रिक्त स्थान, मात्रा चिह्न या देवनागरी जैसी गैर-लैटिन लिपि के अक्षर या नई पंक्तियों के अलावा अन्य अवैध वर्ण मिलाए गए हैं, तो डिकोडिंग अभी भी विफल होगी। पहले Base64 क्लीनअप टूल से गैर-अल्फ़ान्यूमेरिक वर्णों को हटाने की सलाह दी जाती है।

Data URL और JWT में पैडिंग अवश्य जोड़ें

Data URL (RFC 2397) और JWT (RFC 7519) दोनों सख्ती से पैडिंग की माँग करते हैं। अधिकांश कार्यान्वयनों में = छोड़ने पर डिकोडिंग त्रुटि या असंगत परिणाम मिलते हैं, सबमिट करने से पहले इस टूल का उपयोग करके 4 के गुणज तक पूरा करें।

URL/फ़ाइल नाम में पैडिंग छोड़ी जा सकती है, लेकिन URL-safe वर्ण सेट के साथ

यदि Base64 को URL पथ, फ़ाइल नाम या शॉर्ट लिंक में रखना है, तो केवल पैडिंग हटाना पर्याप्त नहीं है, + और / को - और _ (Base64URL) से बदलना भी आवश्यक है। केवल = हटाना अभी भी मानक Base64 है, + और / URL में अभी भी अवैध हैं।

पैडिंग हटाने के बाद डिकोडिंग में 'लंबाई गलत' त्रुटि

इसका मतलब है कि लक्ष्य टूल सख्ती से पैडिंग की माँग करता है। कृपया पैडिंग जोड़ने के मोड पर स्विच करें, फिर डिकोड करने का प्रयास करें। यदि अभी भी विफल होता है, तो हो सकता है कि पैडिंग हटाने की प्रक्रिया में गलती से अंतिम = के अलावा अन्य = हटा दिए गए हों (इनपुट स्वयं अवैध था)।

बड़ी फ़ाइलों के लिए पहले विभाजित करने की सलाह

यह टूल एकल-खंड Base64 स्ट्रिंग्स के लिए उपयुक्त है। यदि यह दर्जनों MB स्तर की base64 एन्कोडेड फ़ाइल है, तो कमांड-लाइन टूल (जैसे openssl base64, base64 कमांड) का उपयोग करें या सीधे कोड में संसाधित करें, ताकि ब्राउज़र में अटकने से बचा जा सके।

शिक्षण या दस्तावेज़ीकरण में प्रदर्शन के लिए पैडिंग गणना संलग्न करें

Base64 पैडिंग नए सीखने वालों के लिए सबसे भ्रमित करने वाला बिंदु है। समझाते समय अवश्य 'इनपुट बाइट्स mod 3 = शेष, कितने = के अनुरूप' तुलना तालिका संलग्न करें (इस पृष्ठ के referenceTables देखें), अन्यथा छात्रों के लिए यह समझना कठिन होगा कि कभी 1 क्यों जोड़ना है, कभी 2 क्यों।

सामान्य प्रश्न

Base64 पैडिंग का क्या उपयोग है?

Base64 आउटपुट लंबाई को हमेशा 4 का गुणज बनाए रखना, डिकोडर को स्पष्ट समाप्ति सीमा प्रदान करना। पैडिंग के बिना, 1 बाइट और 2 बाइट्स का इनपुट समान लंबाई के वर्णों में एन्कोड हो सकता है, और डिकोडर मूल बाइट्स की संख्या में अंतर नहीं कर पाता।

Base64 लंबाई 4 का गुणज क्यों होनी चाहिए?

क्योंकि Base64 3 बाइट्स को 4 वर्णों में मैप करता है, प्रत्येक समूह 3→4 का निश्चित अनुपात है। जब इनपुट 3 का गुणज नहीं है, तो 4 वर्ण पूरे करने के लिए अंत में = जोड़ना आवश्यक है। 4 का गुणज न होने वाला कोई भी Base64 अवैध है।

पैडिंग की संख्या की गणना कैसे करें?

सूत्र है (4 - इनपुट बाइट्स % 3) % 3, या सीधे Base64 वर्णों की संख्या mod 4 देखें: शेष 0 = 0 = के अनुरूप, शेष 2 = 1 = के अनुरूप, शेष 3 = 2 = के अनुरूप। यह टूल स्वत: गणना करता है।

क्या पैडिंग हटाई जा सकती है?

हाँ, हटाई जा सकती है, लेकिन केवल तब जब प्रोटोकॉल इसका समर्थन करता हो। उदाहरण के लिए, फ़ाइल नाम, URL पथ, कुछ JSON Web Token कार्यान्वयन बिना पैडिंग वाले Base64 को स्वीकार करते हैं, लेकिन Data URL, MIME, कॉन्फ़िगरेशन फ़ाइलें आमतौर पर सख्ती से माँग करती हैं। इस टूल के पैडिंग हटाने वाले मोड का उपयोग केवल तब करें जब प्रोटोकॉल के समर्थन की पुष्टि हो।

Base64 डिकोडिंग 'लंबाई 4 का गुणज नहीं' त्रुटि दे तो क्या करें?

इस टूल के पैडिंग जोड़ने वाले मोड पर स्विच करें, अंत में एक क्लिक में = जोड़ें। यदि पैडिंग जोड़ने के बाद भी त्रुटि आती है, तो इनपुट में अमान्य वर्ण हैं या वह ट्रंकेट हो गया है, पहले Base64 क्लीनअप टूल से जाँचना आवश्यक है।

क्या पैडिंग जोड़ने से मूल बाइट्स बदल जाते हैं?

नहीं। पैडिंग जोड़ना केवल अंत में = जोड़ता है, बीच के वर्णों को संशोधित नहीं करता, इसलिए मूल बाइट्स पूरी तरह सुरक्षित रहते हैं। डिकोड करने के बाद के बाइट्स मूल डेटा के अनुरूप होते हैं।

क्या नई पंक्तियों या रिक्त स्थान वाले Base64 का समर्थन है?

हाँ, समर्थित है। यह टूल पैडिंग की गणना करने से पहले नई पंक्तियों, कैरिज रिटर्न और रिक्त स्थान को स्वत: हटा देता है। ईमेल अनुलग्नकों, JWT आउटपुट, कॉन्फ़िगरेशन फ़ाइलों से मल्टी-लाइन Base64 को सीधे पेस्ट किया जा सकता है।

क्या Base64 पैडिंग और Base64URL एक ही बात है?

नहीं। Base64 पैडिंग अंत के = वर्णों की समस्या है; Base64URL वर्ण सेट की समस्या है (+ के स्थान पर -, / के स्थान पर _)। यह टूल केवल पैडिंग को संभालता है, URL-safe रूपांतरण के लिए कृपया समर्पित Base64URL टूल का उपयोग करें।

क्या सामग्री सर्वर पर अपलोड होगी?

नहीं। सभी पैडिंग गणना ब्राउज़र में स्थानीय रूप से पूरी होती है, मूल Base64 स्ट्रिंग आपके डिवाइस से बाहर नहीं जाती। संवेदनशील डेटा (क्रेडेंशियल, टोकन) के लिए भी निश्चिंत होकर उपयोग किया जा सकता है।

समस्या निवारण

डिकोडिंग 'लंबाई 4 का गुणज नहीं' त्रुटि दिखाता है

इस टूल के पैडिंग जोड़ने वाले मोड से = जोड़ने के बाद डिकोड करें। यदि पैडिंग जोड़ने के बाद भी त्रुटि आती है, तो इनपुट में अमान्य वर्ण हैं, पहले Base64 क्लीनअप टूल से जाँचने की सलाह दी जाती है।

इनपुट में अमान्य वर्ण मिले होने का संदेह

मानक Base64 में केवल A-Z a-z 0-9 + / = होते हैं, कोई अन्य वर्ण (मात्रा चिह्न या देवनागरी जैसी गैर-लैटिन लिपि के अक्षर, रिक्त स्थान, नई पंक्तियों के अलावा प्रतीक) अवैध हैं। यह टूल नई पंक्तियों और रिक्त स्थान को स्वत: अनदेखा कर देता है, लेकिन अन्य अवैध वर्णों को पहले Base64 क्लीनअप टूल से साफ करना आवश्यक है।

पैडिंग हटाने के बाद भी URL त्रुटि देता है

संभव है कि URL में अभी भी URL एन्कोडिंग की आवश्यकता वाले ? & = जैसे वर्ण हैं, या Base64 वर्ण सेट के + / जैसे प्रतीक शामिल हैं। पैडिंग हटाना URL-safe नहीं है, Base64URL रूपांतरण या URL एन्कोडिंग की एक और प्रक्रिया आवश्यक है।

पेस्ट करने के बाद कोई परिणाम नहीं

संभव है कि इनपुट पूरी तरह से रिक्त स्थान वर्ण (नई पंक्ति, रिक्त स्थान, टैब) हो। यह टूल इन वर्णों को अनदेखा करके गणना करता है, लेकिन पूर्ण रिक्त इनपुट कोई परिणाम ट्रिगर नहीं करेगा। कृपया कम से कम एक Base64 वर्ण दर्ज करें।

शब्दकोश

पैडिंग = वर्ण
RFC 4648 मानक द्वारा निर्दिष्ट Base64 अंतिम पैडिंग वर्ण, जिसका उपयोग गायब वास्तविक बाइट्स को पहचानने के लिए किया जाता है। मान्य पैडिंग केवल स्ट्रिंग के अंत में दिखाई दे सकती है।
4 का गुणज
RFC 4648 मानक के अनुसार Base64 आउटपुट लंबाई 4 का गुणज होनी चाहिए, अन्यथा इसे अवैध एन्कोडिंग माना जाता है। डिकोडिंग के दौरान सख्त Base64 मोड सीधे त्रुटि देगा।
पैडिंग गणना सूत्र
आवश्यक = की संख्या = (4 - इनपुट बाइट्स % 3) % 3; यह Base64 वर्णों की संख्या mod 4 देखने के बराबर है, जहाँ परिणाम 0/2/1 क्रमशः 0/1/2 = के अनुरूप है।
बिना पैडिंग वाला Base64
अंत के = को छोड़कर Base64 का एक प्रकार, जो आमतौर पर URL पथों और फ़ाइल नामों में दिखता है, लेकिन सख्ती से RFC 4648 मानक के अनुरूप नहीं है और कुछ प्रोटोकॉल में डिकोडिंग विफल हो सकती है।
Base64 वर्ण सेट
A-Z, a-z, 0-9, +, / कुल 64 वर्ण, साथ ही पैडिंग के लिए =। कोई अन्य वर्ण अमान्य है और पहले Base64 क्लीनअप टूल से साफ किया जाना चाहिए।

Base64 पैडिंग नियम त्वरित संदर्भ

Base64 इनपुट बाइट्स की संख्या और अंतिम = पैडिंग की मात्रा के बीच का संबंध।

इनपुट बाइट्सmod 3Base64 वर्ण संख्या= पैडिंग संख्याउदाहरण (इनपुट→आउटपुट)
3n04n0ABC → QUJD
3n+114n+22AB → QUI=
3n+224n+31A → QQ==

सामान्य प्रोटोकॉल में पैडिंग की आवश्यकताएँ

विभिन्न प्रोटोकॉल में = पैडिंग की आवश्यकताएँ अलग-अलग होती हैं, गलत तरीके से छोड़ने पर डिकोडिंग विफल हो जाती है।

उपयोग परिदृश्यपैडिंग आवश्यक है या नहींविशिष्ट उपयोग
Data URL (RFC 2397)अनुशंसित (संगतता)HTML / CSS / चित्र एम्बेड
JWT (RFC 7519)आवश्यक (सख्त)OAuth / API प्रमाणीकरण
MIME (RFC 2045)आवश्यकईमेल अनुलग्नक एन्कोडिंग
URL पथ / फ़ाइल नामवैकल्पिक (अक्सर हटाया जाता है)शॉर्ट लिंक / कैश कुंजी
कॉन्फ़िगरेशन फ़ाइल (YAML / JSON)आवश्यकक्रेडेंशियल, हस्ताक्षर भंडारण

Authoritative References