> qr-optimized | efficient | modern <
// ترميز Base45 مُحسّن لرموز QR والشهادات الرقمية
محسّن لرموز QR
يستخدم مجموعة حروف متوافقة مع النمط الأبجدي الرقمي في رموز QR لزيادة كثافة البيانات وتحسين موثوقية المسح.
يتبع معيارًا حديثًا
يطبّق معيار Base45 كما في RFC 9285، والمستخدم في شهادة كوفيد الرقمية للاتحاد الأوروبي وغيرها من الشهادات الصحية.
ترميز مدمج
أكثر كفاءة من Base32 وغالبًا أفضل من Base64 عند تخزين البيانات داخل رمز QR.
>> معلومات تقنية
كيف يعمل Base45:
يستخدم Base45 عددًا من 45 حرفًا متوافقًا مع وضع "Alphanumeric" في رموز QR. تُشفَّر البيانات عادة في مجموعات من 2 بايت إلى 3 رموز Base45، مما يوفر كفاءة أعلى من Base64 داخل رمز QR.
مثال:
"Hello" → %69 VD92EX0
لماذا أستخدم Base45؟:
- >زيادة كمية البيانات التي يمكن تخزينها في رمز QR واحد
- >الالتزام بالمعايير المستخدمة في الشهادات الصحية الرقمية الأوروبية
- >تقليل حجم وتعقيد رمز QR لمطبوعات أو شاشات صغيرة
- >تحسين نسبة نجاح المسح عبر كاميرات وأجهزة قراءة مختلفة
- >اختيار أفضل من Base64 عندما يكون الهدف النهائي هو رمز QR
>> أسئلة شائعة
ما هي شفرة Base45؟
Base45 هي مخطط ترميز مذكور في RFC 9285 يستخدم 45 حرفًا مختارة للعمل بكفاءة مع نمط "Alphanumeric" في رموز QR.
لماذا تم تطوير Base45؟
تم تطوير Base45 لتخزين البيانات بكفاءة داخل رموز QR، خصوصًا لتمثيل الشهادات الصحية والبيانات المهيكلة في مساحة محدودة.
بماذا يختلف Base45 عن Base64 أو Base32؟
على عكس Base64، يستخدم Base45 فقط الحروف التي يدعمها نمط QR الأبجدي الرقمي، مما يحسن استغلال المساحة في رمز QR ويقلل عدد الوحدات (modules).
متى يُنصح باستخدام Base45؟
يُنصح باستخدام Base45 عند ترميز شهادات رقمية، تذاكر، رموز وصول أو إعدادات داخل رمز QR يتطلب أن يكون صغيرًا وسهل المسح.
// مرجع سريع
| المدخل | Base45 |
|---|---|
| AB | BB8 |
| Hello!! | %69 VD92EX0 |
| base-45 | UJCLQE7W581 |
| 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
>> المزيد من الأسئلة
س: ما الأحرف الـ45 التي يستخدمها Base45؟
ج: هي بالضبط أحرف وضع QR الأبجدي الرقمي: 0–9 وA–Z (كبيرة فقط) والمسافة و$ % * + - . / :. الأبجدية محددة في RFC 9285.
س: كم يبلغ طول سلسلة Base45 مقارنة بالبايتات الأصلية؟
ج: كل بايتين يعطيان 3 أحرف، والبايت الوحيد المتبقي يعطي حرفين. فلـ n بايت تنتج 3·⌊n/2⌋ + 2·(n mod 2) حرفاً، أي نحو 150% من طول المدخل.
س: لماذا يتفوق Base45 على Base64 في رموز QR؟
ج: يستهلك الوضع الأبجدي الرقمي في QR نحو 5.5 بت للحرف، مقابل 8 بت لوضع البايت (اللازم لـ + و/ في Base64). فتتسع بيانات أكثر في الرمز نفسه. شهادات كوفيد الأوروبية: CBOR ← COSE ← zlib ← Base45 ← البادئة HC1: ← QR.