> qr-optimized | efficient | modern <

// QR कोड और डिजिटल सर्टिफिकेट के लिए ऑप्टिमाइज़्ड Base45 एन्कोडिंग

[QR-OPTIMIZED]

QR कोड के लिए ऑप्टिमाइज़्ड

ऐसे कैरेक्टर सेट का उपयोग करता है जो QR कोड के अल्फ़ान्यूमेरिक मोड के साथ सीधे काम करता है, जिससे डेटा डेंसिटी और स्कैन विश्वसनीयता बेहतर होती है।

[RFC 9285]

आधुनिक मानक

Base45 स्टैंडर्ड (RFC 9285) को लागू करता है, जो EU डिजिटल COVID सर्टिफिकेट और अन्य डिजिटल सर्टिफिकेट में उपयोग होता है।

[COMPACT]

कॉम्पैक्ट प्रतिनिधित्व

Base32 से अधिक कॉम्पैक्ट और QR कोड में Base64 की तुलना में व्यावहारिक और कुशल विकल्प।

>> तकनीकी जानकारी

Base45 कैसे काम करता है:

Base45, QR कोड अल्फ़ान्यूमेरिक मोड के साथ संगत 45 कैरेक्टर का उपयोग करता है। डेटा को आमतौर पर 2 बाइट के ब्लॉकों को 3 Base45 कैरेक्टर में मैप करके एन्कोड किया जाता है, जिससे समान आकार के QR कोड में Base64 की तुलना में अधिक कारगर भंडारण होता है।

उदाहरण:

"Hello" → %69 VD92EX0

Base45 का उपयोग क्यों?:

  • >किसी एक QR कोड में ज्यादा स्ट्रक्चर्ड डेटा पैक करना
  • >EU डिजिटल COVID सर्टिफिकेट जैसे मानकों के अनुरूप डेटा एन्कोड करना
  • >QR कोड का आकार और जटिलता (मॉड्यूल की संख्या) कम रखना
  • >कम रोशनी या बेसिक कैमरा के साथ भी स्कैन सफलता दर बढ़ाना
  • >जब लक्ष्य डेटा को अंततः QR कोड में बदलना हो, तब Base64 की जगह अधिक उपयुक्त विकल्प

>> अक्सर पूछे जाने वाले प्रश्न

Base45 एन्कोडिंग क्या है?

Base45 एक एन्कोडिंग स्कीम है जो RFC 9285 में परिभाषित है और 45 ऐसे कैरेक्टर का उपयोग करती है जो QR कोड के अल्फ़ान्यूमेरिक मोड के साथ कुशलतापूर्वक काम करते हैं।

Base45 क्यों बनाया गया?

Base45 को मुख्य रूप से QR कोड में कुशलतापूर्वक डेटा स्टोर करने के लिए डिज़ाइन किया गया, खासकर डिजिटल हेल्थ सर्टिफिकेट जैसे EU डिजिटल COVID सर्टिफिकेट को एन्कोड करने के लिए।

Base45, Base64 और Base32 से कैसे अलग है?

Base45 केवल वही कैरेक्टर उपयोग करता है जिन्हें QR कोड अल्फ़ान्यूमेरिक मोड सीधे सपोर्ट करता है, इसलिए समान QR आकार में Base64 की तुलना में अधिक डेटा स्टोर किया जा सकता है।

किन परिस्थितियों में Base45 का उपयोग करना चाहिए?

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

// त्वरित संदर्भ

इनपुटBase45
ABBB8
Hello!!%69 VD92EX0
base-45UJCLQE7W581
ietf!QED8WEX0

// कोड उदाहरण

Alphabet  0-9 A-Z space $ % * + - . / :        (45 characters)
Length    2 bytes -> 3 chars,  1 byte -> 2 chars
Python    pip install base45   base45.b45encode(b"AB")  # b'BB8'
Node.js   npm i base45-js      // RFC 9285
EU DCC    JSON -> CBOR -> COSE -> zlib -> Base45 -> "HC1:" -> QR

>> और प्रश्न

प्र: Base45 कौन-से 45 वर्ण इस्तेमाल करता है?

उ: ठीक वही जो QR कोड के अल्फ़ान्यूमेरिक मोड में हैं: 0–9, A–Z (केवल बड़े अक्षर), स्पेस और $ % * + - . / :। वर्णमाला RFC 9285 में तय है।

प्र: मूल बाइट की तुलना में Base45 स्ट्रिंग कितनी लंबी होती है?

उ: हर 2 इनपुट बाइट से 3 वर्ण बनते हैं, बचा हुआ एक बाइट 2 वर्ण देता है। n बाइट के लिए 3·⌊n/2⌋ + 2·(n mod 2) वर्ण बनते हैं, यानी इनपुट लंबाई का लगभग 150%।

प्र: QR कोड के लिए Base45 Base64 से बेहतर क्यों है?

उ: QR का अल्फ़ान्यूमेरिक मोड प्रति वर्ण लगभग 5.5 बिट लेता है, जबकि बाइट मोड (Base64 के + और / के लिए ज़रूरी) 8 बिट। इसलिए उसी कोड में ज़्यादा डेटा आता है। EU COVID प्रमाणपत्र: CBOR → COSE → zlib → Base45 → उपसर्ग HC1: → QR।

अन्य भाषाएँ