Base64 फ़ॉर्मेटिंग

मेसी बेस64 इनपुट
0 अक्षर

Base64 स्ट्रिंग को कस्टम अक्षर चौड़ाई (64/76/80/100 अक्षर) और इंडेंट (0/2/4 स्पेस) के साथ पंक्तियों में फ़ॉर्मेट करें। लंबी स्ट्रिंग पढ़ने, स्क्रीनशॉट तुलना और दस्तावेज़ लेआउट के लिए उपयुक्त। केवल प्रदर्शन स्वरूप बदलता है, मूल Base64 एन्कोडिंग डेटा को नहीं बदलता।

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

Base64 फ़ॉर्मेटिंग क्या है?

Base64 फ़ॉर्मेटिंग एक दृश्य-स्तरीय प्रक्रिया है जिसमें एक लंबी Base64 स्ट्रिंग को निर्दिष्ट अक्षर चौड़ाई (जैसे 64/76/80/100) के अनुसार कई पंक्तियों में विभाजित किया जाता है, और 0/2/4 स्पेस के इंडेंट के साथ प्रदर्शित किया जाता है। फ़ॉर्मेट किया गया परिणाम देखने में अधिक स्पष्ट होता है, स्क्रीनशॉट, प्रिंट और दस्तावेज़ लेआउट के लिए उपयुक्त होता है, लेकिन **मूल बाइट सामग्री नहीं बदलती** — सभी नई लाइनें और इंडेंट हटाने पर मूल एकल-पंक्ति Base64 बहाल हो जाता है।

**फ़ॉर्मेटिंग की आवश्यकता क्यों है?** RFC 4648 मानक Base64 में लाइन ब्रेक अनिवार्य नहीं है, लेकिन व्यावहारिक उपयोग में: ①लंबी Base64 स्ट्रिंग टिकट सिस्टम, चैट उपकरण, Markdown दस्तावेज़ों में क्षैतिज स्क्रॉलिंग का कारण बनती है; ②MIME प्रोटोकॉल (RFC 2045) 76 अक्षर प्रति पंक्ति निर्धारित करता है (ईमेल अटैचमेंट के लिए); ③कोड समीक्षा में बहु-पंक्ति प्रदर्शन असामान्य अक्षरों को जल्दी पहचानने में मदद करता है; ④दस्तावेज़ स्क्रीनशॉट लेआउट में सुंदर संरेखण की आवश्यकता होती है।

**सामान्य उपयोग परिदृश्य:** ①तकनीकी दस्तावेज़ लेआउट: Markdown / Confluence / Notion में लंबी Base64 एम्बेड करना; ②स्क्रीनशॉट तुलना: PR / बग रिपोर्ट स्क्रीनशॉट में पूरी Base64 स्ट्रिंग टीम को दिखाना; ③मैन्युअल समीक्षा: कोड रिव्यू में अवैध अक्षरों (जैसे नई लाइन, स्पेस मिश्रण) को जल्दी खोजना; ④ईमेल अटैचमेंट: MIME मानक 76 अक्षर लाइन ब्रेक के बाद SMTP ट्रांसमिशन के लिए सुविधाजनक; ⑤बड़ी स्क्रीन लॉग प्रदर्शन: मॉनिटरिंग सिस्टम में बहु-पंक्ति प्रदर्शन।

**MIME Base64 से अंतर:** MIME Base64 (RFC 2045) प्रत्येक 76 अक्षर पर लाइन ब्रेक करता है, जो प्रोटोकॉल-स्तरीय आवश्यकता है। इस उपकरण की फ़ॉर्मेटिंग अधिक लचीली है — 64/76/80/100 अक्षर चौड़ाई + 0/2/4 स्पेस इंडेंट का समर्थन करती है, विभिन्न दस्तावेज़ परिदृश्यों के लिए उपयुक्त। MIME लाइन ब्रेक 76 अक्षर चौड़ाई चुनकर पुनर्प्रस्तुत किया जा सकता है।

**फ़ॉर्मेटिंग की सुरक्षा:** उपकरण केवल प्रदर्शन स्तर पर नई लाइन और इंडेंट अक्षर जोड़ता है, **मूल Base64 बाइट सामग्री को कभी नहीं बदलता**। फ़ॉर्मेट किए गए परिणाम से सभी व्हाइटस्पेस अक्षर हटाने पर बिल्कुल वही मूल Base64 स्ट्रिंग बहाल हो जाती है। डिकोड करते समय अधिकांश Base64 डिकोडर स्वचालित रूप से व्हाइटस्पेस को अनदेखा करते हैं, इसलिए फ़ॉर्मेट किया गया परिणाम सीधे डिकोड किया जा सकता है।

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

  • बहुत लंबी Base64 स्ट्रिंग को कस्टम चौड़ाई में विभाजित करके पढ़ने और स्क्रीनशॉट लेने के लिए
  • तकनीकी दस्तावेज़, टिकट रिकॉर्ड या ईमेल प्रदर्शन के लिए Base64 फ़ॉर्मेट करना
  • प्रिंट या संग्रह के समय Base64 लेआउट अनुकूलन
  • विभाजन, मर्ज उपकरणों के साथ Base64 संरचना समायोजन
  • MIME मानक (76 अक्षर) के अनुसार Base64 लाइन ब्रेक, ईमेल अटैचमेंट के लिए
  • कोड समीक्षा में Base64 को बहु-पंक्ति में प्रदर्शित करके असामान्य अक्षरों की पहचान
  • Base64 को Markdown में एम्बेड करते समय 4 स्पेस इंडेंट से कोड शैली बनाए रखना
  • बड़ी स्क्रीन लॉग प्रदर्शन: मॉनिटरिंग सिस्टम में लंबी Base64 payload को बहु-पंक्ति में दिखाना

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

  1. फ़ॉर्मेट करने के लिए Base64 स्ट्रिंग पेस्ट करें (नई लाइन के साथ या बिना)
  2. प्रति पंक्ति अक्षर चौड़ाई चुनें: 64 / 76 / 80 / 100
  3. इंडेंट चुनें: 0 / 2 / 4 स्पेस
  4. उपकरण रीयल-टाइम में निर्दिष्ट चौड़ाई और इंडेंट के अनुसार फ़ॉर्मेट करके दिखाता है
  5. दस्तावेज़ के लिए फ़ॉर्मेट किया गया परिणाम कॉपी करें, या नई लाइनें हटाने के लिए रिस्टोर पर क्लिक करें

विशेषताएं

  • कस्टम अक्षर चौड़ाई: 64 / 76 / 80 / 100 अक्षर प्रति पंक्ति का समर्थन, विभिन्न लेआउट आवश्यकताओं के लिए लचीला
  • कॉन्फ़िगर करने योग्य इंडेंट: 0 / 2 / 4 स्पेस इंडेंट का समर्थन, कोड ब्लॉक या Markdown में संरेखण के लिए
  • शुद्ध प्रदर्शन अनुकूलन: केवल प्रदर्शन समायोजित करता है, मूल Base64 एन्कोडिंग डेटा नहीं बदलता
  • रीयल-टाइम फ़ॉर्मेटिंग: 200ms डीबाउंस, इनपुट करते ही फ़ॉर्मेट होता है, कोई देरी नहीं
  • एक-क्लिक रिस्टोर: सभी नई लाइनें और इंडेंट हटाकर एकल-पंक्ति Base64 बहाल करें
  • अक्षर और पंक्ति गणना: इनपुट अक्षर संख्या और आउटपुट कुल पंक्तियाँ रीयल-टाइम में दिखाता है
  • एक-क्लिक कॉपी: फ़ॉर्मेट किया गया परिणाम सीधे क्लिपबोर्ड पर कॉपी करें, दस्तावेज़ या टिकट रिकॉर्ड के लिए
  • ब्राउज़र-स्थानीय शून्य अपलोड: सभी फ़ॉर्मेटिंग ब्राउज़र में पूरी होती है, किसी सर्वर से नहीं गुज़रती

कोड उदाहरण

JavaScript: Base64 फ़ॉर्मेटिंग मैन्युअल कार्यान्वयन (सिद्धांत समझें)

javascript

Base64 फ़ॉर्मेटिंग के अंतर्निहित तर्क को समझें — अक्षर चौड़ाई के अनुसार विभाजित करें और नई लाइन जोड़ें।

// Base64 फ़ॉर्मेटिंग फ़ंक्शन (इस उपकरण के तर्क के समान)
function formatBase64(input, lineLength = 76, indent = 0) {
  // 1. सभी व्हाइटस्पेस अक्षर हटाएँ
  const clean = input.replace(/\s/g, '');
  if (!clean) return '';

  // 2. निर्दिष्ट चौड़ाई के अनुसार विभाजित करें
  const lines = [];
  for (let i = 0; i < clean.length; i += lineLength) {
    const line = clean.slice(i, i + lineLength);
    lines.push(' '.repeat(indent) + line);
  }

  // 3. नई लाइन से जोड़ें
  return lines.join('\n');
}

// उपयोग उदाहरण
const b64 = 'a'.repeat(200);
console.log(formatBase64(b64, 76, 0));
// आउटपुट: प्रति पंक्ति 76 अक्षर Base64

// अनफ़ॉर्मेट (डिकोडिंग या ट्रांसमिशन के लिए)
function unformatBase64(input) {
  return input.replace(/\s/g, '');
}

console.log(unformatBase64(formatBase64(b64, 76, 0)).length); // 200

Python: Base64 फ़ॉर्मेटिंग + MIME लाइन ब्रेक

python

Python में 76 अक्षर प्रति लाइन (MIME मानक) फ़ॉर्मेटिंग कार्यान्वयन, इंडेंट निर्दिष्ट किया जा सकता है।

import textwrap

def format_base64(b64_str: str, width: int = 76, indent: int = 0) -> str:
    """Base64 स्ट्रिंग को बहु-पंक्ति में फ़ॉर्मेट करें"""
    # सभी व्हाइटस्पेस हटाएँ
    clean = ''.join(b64_str.split())
    if not clean:
        return ''

    # textwrap से चौड़ाई के अनुसार विभाजित करें
    lines = textwrap.wrap(clean, width=width)

    # इंडेंट जोड़ें
    if indent > 0:
        lines = [' ' * indent + line for line in lines]

    return '\n'.join(lines)


# उपयोग उदाहरण
b64 = 'aGVsbG8gd29ybGQ=' * 10
print(format_base64(b64, 76, 0))

# MIME Base64 (RFC 2045) पुनर्प्रस्तुत करें
mime_format = format_base64(b64, 76)
print(f'MIME Base64 पंक्तियाँ: {len(mime_format.splitlines())}')

# एकल पंक्ति में बहाल करें
single_line = b64.replace('\n', '').replace(' ', '')
print(f'एकल पंक्ति लंबाई: {len(single_line)}')

कमांड लाइन: fold उपकरण + MIME Base64 लाइन ब्रेक

bash

Linux/macOS सिस्टम में अंतर्निहित fold उपकरण से कमांड लाइन में तेज़ी से Base64 फ़ॉर्मेटिंग करें।

# 1. Base64 इनपुट → 76 अक्षर में लाइन ब्रेक (MIME मानक)
echo "aGVsbG8gd29ybGQ=" | base64 | base64 | fold -w 76

# 2. लंबी Base64 फ़ाइल फ़ॉर्मेट करें → नई फ़ाइल में आउटपुट
fold -w 76 encoded.txt > formatted.txt

# 3. 64 अक्षर में लाइन ब्रेक (सघन प्रदर्शन)
fold -w 64 encoded.txt > compact.txt

# 4. सभी नई लाइनें हटाएँ (अनफ़ॉर्मेट)
tr -d '\n' < formatted.txt > single-line.txt

# 5. सत्यापन: Base64 लंबाई + पंक्ति संख्या
wc -c encoded.txt | awk '{print "अक्षर संख्या:", $1}'
wc -l formatted.txt | awk '{print "पंक्ति संख्या:", $1}'

# 6. openssl के साथ पूर्ण base64 एन्कोडिंग + फ़ॉर्मेटिंग
echo "Hello 世界" | openssl base64 -A | fold -w 76 > hello.b64.txt
cat hello.b64.txt

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

क्या फ़ॉर्मेटिंग Base64 की वास्तविक सामग्री बदलती है?

नहीं। फ़ॉर्मेटिंग केवल प्रदर्शन स्तर पर नई लाइन और इंडेंट स्पेस जोड़ती है, एन्कोडिंग को नहीं बदलती। फ़ॉर्मेट की गई सामग्री से सभी व्हाइटस्पेस हटाने पर मूल एकल-पंक्ति Base64 बहाल हो जाता है। सभी Base64 डिकोडर (ब्राउज़र मूल atob / Node.js Buffer / Python base64) स्वचालित रूप से व्हाइटस्पेस को अनदेखा करते हैं, इसलिए फ़ॉर्मेट किया गया परिणाम सीधे डिकोडिंग के लिए उपयोग किया जा सकता है।

Base64 फ़ॉर्मेटिंग और MIME Base64 में क्या अंतर है?

MIME Base64 RFC 2045 के अनुसार सख्ती से 76 अक्षर चौड़ाई में लाइन ब्रेक करता है, जो ईमेल अटैचमेंट ट्रांसमिशन का मानक है। इस उपकरण की फ़ॉर्मेटिंग अधिक लचीली है — कस्टम 64/76/80/100 अक्षर चौड़ाई + 0/2/4 स्पेस इंडेंट की अनुमति देती है, जो दस्तावेज़, स्क्रीनशॉट आदि के लिए उपयुक्त है। 76 अक्षर चौड़ाई चुनकर MIME लाइन ब्रेक पुनर्प्रस्तुत किया जा सकता है।

क्या यह लॉग देखने और टिकट रिकॉर्ड के लिए उपयुक्त है?

बिल्कुल उपयुक्त है। लंबी Base64 स्ट्रिंग टिकट सिस्टम (Jira / Zendesk), चैट उपकरण (Slack / Teams) या Markdown दस्तावेज़ों में क्षैतिज स्क्रॉलिंग का कारण बनती है। फ़ॉर्मेट करने के बाद बहु-पंक्ति प्रदर्शन स्पष्ट और पठनीय होता है, सीधे टिकट अटैचमेंट या चैट विंडो में पेस्ट किया जा सकता है।

क्या फ़ॉर्मेट करने के बाद सीधे डिकोड किया जा सकता है?

हाँ। सभी प्रमुख Base64 डिकोडर स्वचालित रूप से नई लाइन और स्पेस को अनदेखा करते हैं। यदि समस्या आए (जैसे पुराना OpenSSL), पहले 'रिस्टोर' बटन पर क्लिक करके नई लाइनें हटाएँ, फिर डिकोड करें।

64 / 76 / 80 / 100 विभिन्न अक्षर चौड़ाई क्यों हैं?

64 अक्षर सघन दस्तावेज़ों के लिए उपयुक्त (CLI टर्मिनल, Markdown तालिकाएँ); 76 अक्षर MIME ईमेल मानक है; 80 अक्षर पारंपरिक टर्मिनल चौड़ाई है; 100 अक्षर वाइडस्क्रीन एडिटर और आधुनिक दस्तावेज़ों के लिए उपयुक्त है। प्रत्येक चौड़ाई का अपना सर्वोत्तम उपयोग परिदृश्य है।

इंडेंट का क्या उपयोग है?

इंडेंट (0/2/4 स्पेस) Base64 को कोड ब्लॉक या Markdown में संरेखित रखता है: 0 स्पेस शुद्ध पाठ के लिए, 2 स्पेस JS/Python कोड शैली के लिए, 4 स्पेस Markdown नेस्टेड कोड ब्लॉक के लिए।

क्या फ़ॉर्मेटिंग से Base64 के अक्षरों की संख्या बढ़ती है?

लगभग 1-3% बढ़ती है (नई लाइन + इंडेंट स्पेस), लेकिन डिकोडिंग परिणाम को प्रभावित नहीं करती। यदि ट्रांसमिशन आकार-संवेदनशील है (जैसे URL पैरामीटर), पहले 'रिस्टोर' फ़ंक्शन से एकल-पंक्ति बहाल करने की सलाह दी जाती है।

क्या यह UTF-8 / चीनी का समर्थन करता है?

यह उपकरण सीधे कैरेक्टर सेट को प्रोसेस नहीं करता — केवल Base64 स्ट्रिंग को फ़ॉर्मेट करता है। यदि Base64 में चीनी शामिल है (जैसे UTF-8 एन्कोडिंग के बाद Base64 में), फ़ॉर्मेटिंग उसकी एन्कोडिंग सहीता को प्रभावित नहीं करती।

क्या यह बड़े फ़ाइल फ़ॉर्मेटिंग के लिए उपयुक्त है?

समर्थन करता है। उपकरण रीयल-टाइम फ़ॉर्मेटिंग करता है, ब्राउज़र 1MB तक की Base64 स्ट्रिंग के लिए कोई समस्या नहीं है। 10MB से अधिक होने पर इंटरफ़ेस धीमा हो सकता है, खंड-दर-खंड फ़ॉर्मेटिंग की सलाह दी जाती है।

फ़ॉर्मेटिंग के बाद आकार बढ़ गया, क्या कंप्रेस किया जा सकता है?

फ़ॉर्मेटिंग केवल नई लाइन और इंडेंट जोड़ती है, जो कंप्रेशन एल्गोरिदम के लिए अनुकूल है। gzip / Brotli से कंप्रेस किया जा सकता है, या Base64 Stats उपकरण से सटीक वृद्धि देखी जा सकती है।

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

फ़ॉर्मेटिंग के बाद कुछ Base64 अक्षर गायब हो गए

संभवतः स्रोत Base64 में अवैध अक्षर हैं (जैसे नई लाइन सही से प्रोसेस नहीं हुई)। पहले Base64 Clean उपकरण से सफ़ाई करें, फिर फ़ॉर्मेट करें।

फ़ॉर्मेट किया गया परिणाम मूल बाइट्स से मेल नहीं खाता

यह असंभव है — फ़ॉर्मेटिंग केवल व्हाइटस्पेस अक्षर जोड़ती है, बाइट सामग्री नहीं बदलती। यदि असंगति दिखे, तो स्रोत Base64 गलती से प्रोसेस हो चुका है (जैसे बार-बार फ़ॉर्मेटिंग से व्हाइटस्पेस दोहराया गया)।

लंबी स्ट्रिंग फ़ॉर्मेटिंग के बाद इंटरफ़ेस धीमा हो गया

10MB से अधिक Base64 स्ट्रिंग ब्राउज़र को धीमा कर सकती है। सुझाव: ①खंड-दर-खंड प्रोसेस करें; ②पहले base64-clean से अतिरिक्त व्हाइटस्पेस हटाएँ; ③चौड़ाई कम करें (जैसे 64 अक्षर) ताकि प्रति पंक्ति रेंडरिंग भार कम हो।

शब्दकोश

Base64 फ़ॉर्मेटिंग
प्रदर्शन स्तर पर Base64 स्ट्रिंग को निर्दिष्ट चौड़ाई के अनुसार कई पंक्तियों में विभाजित करना, केवल दृश्य प्रभाव को प्रभावित करता है, एन्कोडिंग को नहीं बदलता।
MIME Base64
RFC 2045 द्वारा निर्धारित 76 अक्षर प्रति पंक्ति लाइन ब्रेक वाला Base64 वेरिएंट, मुख्य रूप से ईमेल अटैचमेंट ट्रांसमिशन के लिए उपयोग किया जाता है।
अक्षर चौड़ाई (line length)
प्रत्येक पंक्ति में प्रदर्शित Base64 अक्षरों की संख्या। सामान्य मान: 64 (सघन), 76 (MIME मानक), 80 (मानक प्रिंट), 100 (वाइडस्क्रीन)।
इंडेंट (indent)
प्रत्येक पंक्ति की शुरुआत में स्पेस की संख्या, सामान्य मान: 0 (कोई इंडेंट नहीं), 2 (कोड शैली), 4 (Markdown कोड ब्लॉक)।
व्हाइटस्पेस (whitespace)
Base64 स्ट्रिंग में मौजूद स्पेस, टैब, नई लाइन आदि। फ़ॉर्मेटिंग पहले इन्हें हटाती है, फिर निर्दिष्ट चौड़ाई के अनुसार पुनः जोड़ती है।
अनफ़ॉर्मेट (unformat)
फ़ॉर्मेट की गई (बहु-पंक्ति + इंडेंट) Base64 को एकल-पंक्ति व्हाइटस्पेस-रहित रूप में बहाल करना, डिकोडिंग या ट्रांसमिशन के लिए।

4 अक्षर चौड़ाई तुलना तालिका

विभिन्न अक्षर चौड़ाई विभिन्न प्रदर्शन परिदृश्यों के लिए उपयुक्त है, लक्ष्य वातावरण के अनुसार चुनें।

अक्षर चौड़ाईविशिष्ट परिदृश्यसंबंधित मानकउदाहरण
64 अक्षरCLI टर्मिनल, Markdown तालिकाएँसघन प्रदर्शनछोटी स्क्रीन / उच्च घनत्व
76 अक्षरईमेल अटैचमेंट ट्रांसमिशनRFC 2045 MIMEईमेल / SMTP
80 अक्षरपारंपरिक टर्मिनल प्रिंटपारंपरिक Unix टर्मिनलदस्तावेज़ प्रिंट
100 अक्षरआधुनिक एडिटर / वाइडस्क्रीनआधुनिक UI मानकIDE / दस्तावेज़

3 इंडेंट शैली तुलना तालिका

विभिन्न इंडेंट शैलियाँ विभिन्न कोड मानकों से मेल खाती हैं, टीम/प्रोजेक्ट अभ्यास के अनुसार चुनें।

इंडेंटकोड शैलीउदाहरण (Base64 पहली पंक्ति)
0 स्पेसकोई इंडेंट नहीं (शुद्ध पाठ)QUJD...
2 स्पेसJS / Python मानक QUJD...
4 स्पेसMarkdown नेस्टेड / Java मानक QUJD...

Authoritative References