encode | decode | أبجدي رقمي

> base36 | 0-9,A-Z | مضغوط <

// Base36 — ترميز أبجدي رقمي مضغوط باستخدام الأرقام 0-9 والحروف A-Z

0 حروف
0 حروف
[ALPHANUMERIC]

أحرف وأرقام فقط

يستخدم الأرقام 0-9 والحروف A-Z فقط، مما يجعله مناسبًا لقواعد البيانات، وملفات النصوص، وبيئات متعددة.

[COMPACT]

تمثيل مضغوط

يوفر تمثيلاً أكثر اختصارًا من النظام العشري للأعداد الكبيرة، مع الحفاظ على سهولة القراءة.

[URL-SAFE]

ملائم لعناوين URL

لا يحتوي على رموز خاصة، مما يجعله مثاليًا للروابط القصيرة، المعرفات العامة، أكواد المنتجات ومفاتيح التراخيص.

>> معلومات تقنية

كيف يعمل Base36:

Base36 هو نظام عدّ موضعي ذو أساس 36 يستخدم 36 رمزًا (0-9 و A-Z). تمثل كل خانة قوة من قوى 36، مما يسمح بتمثيل الأعداد الكبيرة كسلاسل أبجدية رقمية قصيرة.

أمثلة Base36:

أعداد → Base36:
123 → 3F
1000 → RS
999999 → LFLR

نص → Base36 (عن طريق البايتات):
Hi → 1Q5
ABC → 3O0AF

أكثر الاستخدامات شيوعًا:
- معرفات الفيديو/المحتوى
- الروابط القصيرة
- رموز الجلسات
- أكواد المنتجات
- مفاتيح التراخيص

لماذا أستخدم Base36؟:

  • ▸إنشاء معرفات قصيرة وسهلة القراءة من الأعداد
  • ▸إنشاء رموز آمنة لعناوين URL دون رموز خاصة
  • ▸ضغط القيم العددية في سلاسل أبجدية رقمية مدمجة
  • ▸غالبًا لا يفرّق بين الحروف الكبيرة والصغيرة، فيكون أكثر تحمّلًا لاختلاف الكتابة
  • ▸بديل أكثر سهولة في القراءة من بعض الأشكال السداسية العشرية أو الثنائية

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

ما هو Base36؟

Base36 هو نظام عدّ موضعي يستخدم 36 رمزًا مختلفًا: الأرقام 0-9 والحروف A-Z. يوفّر طريقة مدمجة لتمثيل الأعداد باستخدام رموز أبجدية رقمية فقط.

أين يُستخدم Base36 عادة؟

يُستخدم Base36 بكثرة في إنشاء معرفات قصيرة مثل الروابط القصيرة، المعرفات العامة، أكواد المنتجات ورموز الجلسات التي يجب أن تكون قصيرة وسهلة القراءة.

هل Base36 حسّاس لحالة الأحرف؟

في معظم التطبيقات لا يفرّق Base36 بين الحروف الكبيرة والصغيرة؛ إذ تُعامل A-Z و a-z بنفس الطريقة، مما يقلل الأخطاء الناتجة عن تغيير حالة الأحرف.

كيف يقارن Base36 بطرق الترميز الأخرى؟

Base36 أكثر اختصارًا من النظام العشري (base10)، لكنه أقل اختصارًا من base16 أو Base64. يوازن بين الضغط وسهولة القراءة باستخدام أحرف وأرقام فقط.

// مرجع سريع

DECHEXBase36Base62
0000
3523zz
362410A
100642s1c
10003e8rsG8
12345678975bcd1521i3v98M0kX
4294967295ffffffff1z141z34gfFC3

// أمثلة برمجية

JavaScript  (123).toString(36)   // "3f"      parseInt("3f", 36)  // 123
Python      int("3f", 36)  // 123       (no built-in int -> base36; write a loop)
Java        Integer.toString(123, 36)   Long.parseLong("3f", 36)
PHP         base_convert("123", 10, 36)
Go          strconv.FormatInt(123, 36)   strconv.ParseInt("3f", 36, 64)

>> المزيد من الأسئلة

س: كيف أكتب Base36 في JavaScript أو Python أو Java؟

ج: تدعمه JavaScript وJava وPHP وGo مباشرة: (123).toString(36) يعطي "3f" وparseInt("3f", 36) يعيد 123. في Python يفك int(s, 36) الترميز، وللترميز اكتب حلقة صغيرة.

س: ما أكبر عدد صحيح يمكن ترميزه بـ Base36؟

ج: لا يوجد حد نظري، فـ Base36 مجرد نظام ترقيم موضعي. عملياً يحدده نوع العدد الصحيح: في JavaScript يساوي Number.MAX_SAFE_INTEGER (2⁵³−1) القيمة 2gosa7pa2gv، وللقيم الأكبر استخدم BigInt.

س: لماذا تبدو معرّفات YouTube والروابط القصيرة مثل Base36/Base62؟

ج: تُنتَج المعرّفات القصيرة غالباً بتحويل عدد صحيح كبير (معرّف قاعدة بيانات أو تجزئة) إلى أساس أعلى. Base36 لا يميّز حالة الأحرف، وBase62 أقصر لكنه يميّزها.

لغات أخرى

تم النسخ!