طريقة الاستخدام
- اختر «ترميز» لتحويل النص إلى Crockford Base32، أو «فك الترميز» لإعادته إلى نص.
- أبقِ «النوع» على Crockford وتأكد من إيقاف «الحشو». فعّل «أحرف صغيرة» للحصول على مخرجات بالأحرف الصغيرة.
- اكتب المدخلات أو الصقها، أو افتح ملفًا. عند فك الترميز تُتجاهل الشرطات والمسافات.
- انسخ النتيجة أو نزّلها كملف.
ما هو Crockford Base32؟
صمّم Douglas Crockford أبجدية Base32 هذه للمعرّفات التي يقرؤها الناس ويكتبونها وينطقونها بصوت عالٍ. وهي تستخدم الأرقام العشرة و22 حرفًا كبيرًا: 0123456789ABCDEFGHJKMNPQRSTVWXYZ. استُبعد الحرفان I وL لأنهما يشبهان الرقم 1، والحرف O لأنه يشبه 0، والحرف U لتقليل احتمال تكوين كلمات بذيئة بالمصادفة.
يحمل كل رمز 5 بتات، فتتحول 5 بايتات إلى 8 أحرف، تمامًا كما في Base32 وفق RFC 4648. والرموز مرتبة تصاعديًا وفق ترتيب ASCII، لذا تُفرز السلاسل غير المحشوة المكتوبة بحالة أحرف واحدة بالترتيب نفسه الذي للبيانات التي ترمّزها. ولا تستخدم مواصفات Crockford أي حشو، لذا أبقِ خيار «الحشو» متوقفًا.
فك ترميز متسامح
تطلب مواصفات Crockford من أدوات فك الترميز أن تقبل ما يكتبه الناس فعلًا، وهذا ما تفعله هذه الأداة:
- تُعامَل الحروف الكبيرة والصغيرة معاملة واحدة.
- يُقرأ الحرف O على أنه الرقم 0، ويُقرأ الحرفان I وL على أنهما 1.
- تُتجاهل الشرطات، التي قد تُضاف لتسهيل قراءة الرموز الطويلة، وكذلك المسافات وفواصل الأسطر.
الحرف U غير صالح، ويُبلَّغ عنه مع ذكر موضعه.
البايتات والأعداد وULID
يصف Crockford ترميزه بدلالة الأعداد، بينما ترمّز هذه الأداة سلسلة من البايتات في مجموعات من 5 بتات، على طريقة RFC 4648، باستخدام رموز Crockford. وعندما لا يكون عدد البتات من مضاعفات 5، تضع التطبيقات القائمة على الأعداد بتات الصفر الزائدة في البداية، بينما تضعها هذه الأداة في النهاية، لذا قد تختلف النتائج.
ومن الأمثلة الشائعة ULID. فهو يستخدم أبجدية Crockford لكنه يرمّز قيمته المكوّنة من 128 بتًا بوصفها عددًا في 26 حرفًا، لذا لا تُرمَّز البايتات الستة عشر لمعرّف ULID هنا إلى السلسلة نفسها، ويعطي فك ترميز ULID بايتات مُزاحة بمقدار بتين. أما رمز التحقق الاختياري في مواصفات Crockford، وهو حرف إضافي يمثّل باقي قسمة القيمة على 37، فغير مدعوم: إذ لا تضيفه هذه الأداة ولا تتحقق منه.
المواصفات
| الأبجدية | 0-9 A-Z باستثناء I L O U |
|---|---|
| حجم المخرجات | 8 أحرف لكل 5 بايتات (160%) |
| الحشو | لا يوجد |
| المعيار | Crockford Base32 (2002) |
| حساس لحالة الأحرف | لا |
أمثلة
| المدخلات (UTF-8) | المخرجات |
|---|---|
Hello, World! | 91JPRV3F5GG5EVVJDHJ22 |
Base64.is | 89GQ6S9P6GQ6JWR |
你好 | WJYT1SD5QM |
الأسئلة الشائعة
هل Crockford Base32 حساس لحالة الأحرف؟
لا. تكون المخرجات بالأحرف الكبيرة افتراضيًا، ويحوّلها خيار «أحرف صغيرة» إلى الأحرف الصغيرة. وتقبل أداة فك الترميز الحالتين، حتى لو اختلطتا في سلسلة واحدة.
لماذا لا توجد الحروف I وL وO وU في الأبجدية؟
يسهل الخلط بين I وL والرقم 1، وبين O والرقم 0، لذا استُبعدت هذه الحروف وتُقرأ على أنها تلك الأرقام عند فك الترميز. واستُبعد U حتى يقل احتمال أن تشكّل الرموز العشوائية كلمات إنجليزية مسيئة.
هل تدعم هذه الأداة رمز التحقق في Crockford؟
* ~ $ = U. لا تضيفه هذه الأداة ولا تتحقق منه، لذا احذف رمز التحقق قبل فك الترميز.هل يمكنني فك ترميز ULID هنا؟
ليس إلى بايتاته الستة عشر بالضبط. يرمّز ULID بتاته الـ 128 بوصفها عددًا واحدًا مع وضع البتات الزائدة في البداية، بينما تعمل هذه الأداة بمجموعات من البايتات وتضعها في النهاية. استخدم مكتبة ULID لقراءة الطابع الزمني والجزء العشوائي.