أداة ترميز Base62 وفك ترميزه

حوّل النصوص أو البايتات الست عشرية أو الملفات إلى Base62 وبالعكس. لا تحتوي المخرجات إلا على أرقام وأحرف، لذا يمكن استخدامها في عناوين URL وأسماء الملفات والمعرّفات دون تهريب.

تعمل بالكامل داخل متصفحك، ولا يُرفع أي شيء.

طريقة الاستخدام

  1. اختر «ترميز» لتحويل النص إلى Base62، أو «فك الترميز» لإعادة Base62 إلى نص.
  2. اختر ترتيب «الأبجدية» الذي يطابق نظامك: 0-9 A-Z a-z (الافتراضي) أو 0-9 a-z A-Z.
  3. اكتب المدخلات أو الصقها، أو افتح ملفًا صغيرًا (حتى نحو 20 كيلوبايت).
  4. انسخ النتيجة أو نزّلها كملف.

ما هو Base62؟

يستخدم Base62 الأرقام العشرة والأحرف الكبيرة الـ 26 والأحرف الصغيرة الـ 26. وهو أكبر أبجدية تتكوّن من الأحرف والأرقام فقط، لذا لا تحتاج النتيجة إلى أي تهريب في عناوين URL أو أسماء الملفات أو مفاتيح قواعد البيانات أو المعرّفات في الشيفرة البرمجية. يحمل كل حرف نحو 5.95 بت، ما يجعل حجم المخرجات نحو 1.34 ضعف حجم المدخلات، أي أنه يكاد يضاهي Base64 في الإيجاز، لكن دون + أو / أو = أو - أو _.

ولأن 62 ليس قوة للعدد 2، تعامل هذه الأداة المدخلات كلها على أنها عدد واحد كبير وتحوّله إلى الأساس 62، كما في Base58 وBase36. ويُكتب كل بايت صفري بادئ على هيئة 0 بادئ كي يبقى محفوظًا عند الترميز ثم فك الترميز. وتقتصر المدخلات على نحو 20 كيلوبايت لأن العمليات الحسابية تتباطأ مع البيانات الكبيرة.

لا يوجد معيار موحّد لـ Base62

على خلاف Base64، ليس لـ Base62 أي RFC، وتختلف تطبيقاته بطرق تجعل مخرجاتها غير متوافقة:

  • ترتيب الأبجدية. توفّر هذه الأداة 0-9A-Za-z (الافتراضي) و0-9a-zA-Z. وتضع بعض المكتبات الأخرى الأحرف قبل الأرقام.
  • الأصفار البادئة. تحتفظ بعض التطبيقات بحرف 0 واحد لكل بايت صفري بادئ، كما تفعل هذه الأداة، وبعضها يحذفها، أما الصيغ ذات الطول الثابت فتحشو النتيجة حتى عرض محدد.
  • ما الذي يُرمَّز. كثير من دوال Base62 ترمّز عددًا صحيحًا، مثل معرّف في قاعدة بيانات، بدلًا من سلسلة بايتات. وبعضها الآخر يقسّم البيانات إلى كتل ثابتة الحجم.

إذا ظهرت سلسلة قادمة من نظام آخر بشكل غير مفهوم بعد فك ترميزها هنا، فجرّب خيار الأبجدية الآخر. وإذا استمر الفشل، فالأرجح أن ذلك النظام يستخدم طريقة مختلفة.

أين يُستخدم Base62

تحوّل خدمات اختصار الروابط معرّفًا يتزايد تلقائيًا إلى رمز قصير: فسبعة أحرف Base62 تغطي أكثر من 3.5 تريليون قيمة. وتستخدم المعرّفات القابلة للفرز مثل KSUID صيغة Base62 ثابتة من 27 حرفًا، وتستخدم خدمات كثيرة Base62 لمفاتيح API والرموز المميزة، لأن النقر المزدوج يحدد السلسلة كاملة ويمكن لصقها في أي مكان. ولتحويل عدد صحيح واحد، استخدم محوّل أنظمة الأعداد، أو بضعة أسطر من الشيفرة:

// JavaScript: تحويل عدد صحيح (BigInt) إلى Base62
const A = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
function toBase62(n) {
  let s = '';
  do { s = A[Number(n % 62n)] + s; n /= 62n; } while (n > 0n);
  return s;
}
toBase62(123456789n);   // '8M0kX'

المواصفات

الأبجدية0-9 A-Z a-z
حجم المخرجاتنحو 134% (تحويل الأعداد الكبيرة)
الحشولا يوجد
المعيارلا يوجد معيار رسمي
حساس لحالة الأحرفنعم

أمثلة

المدخلات (UTF-8)المخرجات
Hello, World!1wJfrzvdbtXUOlUjUf
Base64.isNWxjrFq4r3rv
你好19PqtKE1t

الأسئلة الشائعة

هل Base62 آمن لعناوين URL؟
نعم. فهو لا يستخدم إلا A-Z وa-z و0-9، وهي أحرف لا تحتاج أبدًا إلى تهريب في عناوين URL. وBase64URL آمن لعناوين URL أيضًا، لكنه يتضمن الحرفين - و_.
لماذا تُفك سلسلة Base62 الخاصة بي إلى نص خاطئ؟

تختلف تطبيقات Base62 في ترتيب الأبجدية وفي الطريقة. بدّل بين أبجديتي 0-9A-Za-z و0-9a-zA-Z. وإذا لم تنجح أيٌّ منهما، فالأرجح أن السلسلة أُنشئت من عدد صحيح أو بخوارزمية أخرى.

هل Base62 حساس لحالة الأحرف؟

نعم. تمثّل الأحرف الكبيرة والصغيرة قيمًا مختلفة، لذا يجب ألا تُحوَّل سلسلة Base62 أبدًا إلى أحرف كبيرة أو صغيرة.

هل أستخدم Base62 أم Base58؟
يستبعد Base58 الأحرف 0 وO وI وl حتى لا يخلط الناس بينها عند النسخ اليدوي. أما Base62 فيحتفظ بجميع الأحرف والأرقام، وهو أقصر قليلًا. اختر Base58 للسلاسل التي يكتبها البشر، وBase62 للسلاسل التي تتعامل معها الآلات.