طريقة الاستخدام
- اختر «ترميز» لتحويل النص إلى Base36، أو «فك الترميز» لإعادة Base36 إلى نص.
- اكتب المدخلات أو الصقها، أو افتح ملفًا صغيرًا (حتى نحو 20 كيلوبايت).
- فعّل «أحرف كبيرة» إن احتجت إلى حروف كبيرة في المخرجات.
- انسخ النتيجة أو نزّلها كملف.
ما هو Base36؟
يكتب Base36 البيانات بالأرقام العشرة وبحروف الأبجدية اللاتينية الستة والعشرين، أي 0-9 تليها a-z. وهي أكبر أبجدية يمكن بناؤها من الأرقام والحروف مع تجاهل حالة الأحرف، لذا تبقى سلاسل Base36 سليمة في الأنظمة التي تغيّر حالة الأحرف أو تتجاهلها. يحمل كل حرف نحو 5.17 بت، ما يجعل المخرجات نحو 1.55 ضعف حجم المدخلات، أي أقصر قليلًا من Base32.
ولأن 36 ليس من قوى العدد اثنين، لا يمكن ببساطة تقطيع البايتات إلى مجموعات من البتات. بل تقرأ الأداة المدخلات كلها بوصفها عددًا كبيرًا واحدًا بلا إشارة وتحوّله إلى الأساس 36، وهي الطريقة نفسها التي يستخدمها Base58. وبما أن العدد يفقد بايتات الصفر البادئة، يُكتب كل منها في صورة 0 بادئ ويُستعاد عند فك الترميز. وتصبح هذه العمليات الحسابية بطيئة مع المدخلات الكبيرة، لذا تقبل الأداة ما يصل إلى نحو 20 كيلوبايت.
أين يُستخدم Base36
- المعرّفات القصيرة. كثيرًا ما تعرض خدمات اختصار الروابط وأرقام الطلبات ورموز التذاكر معرّف قاعدة البيانات الرقمي بالأساس 36. فموقع Reddit مثلًا يستخدم الأساس 36 لمعرّفات المنشورات والتعليقات.
- الأماكن غير الحساسة لحالة الأحرف. تتجاهل أسماء DNS وبعض أنظمة الملفات حالة الأحرف، ولهذا السبب يستخدم IPFS صيغة Base36 لبعض المعرّفات في عناوين بوابات النطاقات الفرعية.
- الأعداد في الشيفرة البرمجية. الأساس 36 هو أعلى أساس تدعمه معظم لغات البرمجة أصلًا لتحويل الأعداد الصحيحة.
وإن كانت حالة الأحرف محفوظة وأردت أقصر سلسلة أبجدية رقمية، فإن Base62 أكثر إيجازًا.
أعداد Base36 برمجيًا
ترمّز هذه الصفحة البايتات. ولتحويل عدد صحيح، استخدم الدوال المدمجة في لغتك أو محوّل أنظمة الأعداد:
// JavaScript
(1000000).toString(36) // 'lfls'
parseInt('lfls', 36) // 1000000
123456789012345678901234567890n.toString(36) // BigInt للقيم الكبيرة
# Python
int('lfls', 36) # 1000000
# لا توجد دالة مدمجة للاتجاه المعاكس
تفقد parseInt الدقة فوق Number.MAX_SAFE_INTEGER؛ وللقيم الأكبر، اجمع الأرقام في BigInt بنفسك.
المواصفات
| الأبجدية | 0-9 a-z |
|---|---|
| حجم المخرجات | نحو 155% (تحويل الأعداد الكبيرة) |
| الحشو | لا يوجد |
| المعيار | لا يوجد معيار رسمي |
| حساس لحالة الأحرف | لا |
أمثلة
| المدخلات (UTF-8) | المخرجات |
|---|---|
Hello, World! | fg3h7vqw7een6jwwnzmp |
Base64.is | 76f8bz4veeatf7 |
你好 | 2h5exfqm65 |
الأسئلة الشائعة
هل Base36 حساس لحالة الأحرف؟
لا. تكون المخرجات بالأحرف الصغيرة افتراضيًا، ويحوّلها خيار «أحرف كبيرة» إلى الحروف الكبيرة. وتقبل أداة فك الترميز الحالتين.
لماذا تعطي أداة أخرى نتيجة Base36 مختلفة؟
ليس لـ Base36 معيار رسمي. فبعض الأدوات ترمّز عددًا، وبعضها يرمّز بايتات، وتتعامل مع بايتات الصفر البادئة بطرق مختلفة. وترمّز هذه الأداة بايتات المدخلات بوصفها عددًا كبيرًا واحدًا، وتكتب كل بايت صفري بادئ في صورة 0.