الأدوات
AR

ما هو ترميز Base64؟

يُعد Base64 طريقة لكتابة أي بيانات ثنائية باستخدام 64 حرفًا قابلًا للطباعة فقط. إليك كيف يعمل، ولماذا وُجد، ومتى ينبغي استخدامه (ومتى لا ينبغي).

ترميز Base64 في جملة واحدة

يُعد Base64 ترميزًا لتحويل البيانات الثنائية إلى نص، وهو معرّف في المعيار RFC 4648، ويمثّل كل 3 بايتات من البيانات بـ 4 أحرف من الأبجدية A–Z وa–z و0–9 و+ و/.

لماذا وُجد Base64

صُممت أنظمة كثيرة للتعامل مع النصوص فقط: البريد الإلكتروني (SMTP)، وJSON، وXML، وسمات HTML، وعناوين URL، والطرفيات. وقد تحتوي البيانات الثنائية الخام، مثل الصور أو ملفات PDF، على بايتات قد تغيّرها هذه الأنظمة أو ترفضها. لذلك يحوّل Base64 البيانات إلى أحرف آمنة وقابلة للطباعة كي تصل إلى وجهتها دون أي تغيير.

كيف يعمل ترميز Base64 خطوة بخطوة

  1. خذ بايتات الإدخال: M وa وn = 77، 97، 110.
  2. اكتبها في صورة 24 بتًا: 01001101 01100001 01101110.
  3. قسّم البتات إلى أربع مجموعات من 6 بتات: 010011 010110 000101 101110 = 19، 22، 5، 46.
  4. ابحث عن كل رقم في الأبجدية: 19 = T، 22 = W، 5 = F، 46 = u.

وهكذا تصبح Man هي TWFu. أما فك الترميز فيعكس هذه الخطوات ببساطة.

أبجدية Base64

القيمالأحرف
0–25A–Z
26–51a–z
52–610–9
62+ (في الصيغة الآمنة لعناوين URL: -)
63/ (في الصيغة الآمنة لعناوين URL: _)
الحشو=

ماذا تعني علامة الحشو =

عندما لا يكون طول المُدخل من مضاعفات العدد 3، تُكمَّل المجموعة الأخيرة وتُعلَّم بالعلامة =: فتصبح Ma هي TWE=، وتصبح M هي TQ==. ولا يظهر الحشو أبدًا في منتصف سلسلة صالحة.

أنواع Base64

ترميز Base64 ليس تشفيرًا

لا يُخفي Base64 أي شيء: يمكن لأي شخص فك ترميزه فورًا. وكثيرًا ما يُظن خطأً أنه وسيلة حماية لأن ناتجه يبدو عشوائيًا. استخدم تشفيرًا حقيقيًا مثل AES لحماية الأسرار، واستخدم Base64 فقط لنقل البايتات المشفّرة في صورة نص.

الزيادة في الحجم

يبلغ طول الناتج المرمّز 4 × ⌈n / 3⌉ حرفًا لكل n بايت، أي أكثر من الحجم الأصلي بنحو 33%. ومع فواصل أسطر MIME يزداد الحجم بنسبة 2–3% أخرى.

أين يُستخدم Base64

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

هل Base64 هو نفسه التشفير أو التجزئة (hashing)؟

لا. يحتاج التشفير إلى مفتاح لعكسه، والتجزئة لا يمكن عكسها إطلاقًا، بينما يستطيع أي شخص فك ترميز Base64.

لماذا سُمّي Base64 بهذا الاسم؟

لأنه يستخدم أبجدية من 64 حرفًا، بحيث يحمل كل حرف 6 بتات من المعلومات (26 = 64).

كيف أعرف ما إذا كانت السلسلة بترميز Base64؟

تحتوي فقط على الأحرف A–Z و a–z والأرقام 0–9 والرمزين + و / (أو - و _)، ويكون طولها عادةً من مضاعفات العدد 4، وقد تنتهي بعلامة = واحدة أو اثنتين. وأسرع طريقة للتحقق هي لصقها في أداة فك الترميز لدينا.

آخر تحديث: