ما هو Base64؟
Base64 يمثّل البيانات الثنائية كنص باستخدام 64 محرفاً آمناً (A–Z وa–z و0–9 و+ و/)، فتتحول كل ثلاثة بايتات إلى أربعة محارف، ويكبر الناتج نحو 33% عن المدخل. وُجد ليمرّ المحتوى الثنائي عبر قنوات مصممة للنص — البريد الإلكتروني وJSON وعناوين URL وترويسات HTTP. إنه ترميز لا تشفير: يمكن لأي شخص فكّه.
ملاحظة أمنية: Base64 لا يخفي شيئاً. بيانات الاعتماد أو الرموز أو البيانات الشخصية المرمّزة بـ Base64 فقط هي عملياً نص صريح؛ استخدم TLS أثناء النقل وتشفيراً حقيقياً عند التخزين.
اقرأ الدليل: ما هو Base64؟ شرح الترميز
كيفية استخدام مرمّز Base64
- اكتب النص أو اختر ملفاً.
- حدّد خيارات الأبجدية الآمنة لعناوين URL والحشو والالتفاف حسب الحاجة.
- فعّل خيار «data: URI» لتضمين النتيجة في HTML أو CSS.
- انسخ ناتج Base64 أو نزّله.
مزايا مرمّز Base64
- يرمّز نصوص UTF-8 أو ملفاً محلياً (حتى 5 ميغابايت) — لا يُرفع أي شيء
- الأبجدية القياسية أو الآمنة لعناوين URL، مع حشو «=» أو بدونه
- التفاف الأسطر عند 76 حرفاً (MIME) أو 64 حرفاً (PEM)
- إخراج بصيغة data: URI مع اكتشاف نوع MIME تلقائياً
- يتعرّف على توقيعات الملفات الشائعة (PNG وPDF وZIP…) في التفاصيل
- ترميز فوري مع إحصاءات الحجم
مثال على مرمّز Base64
ترميز نص Unicode
الإدخال:
Hello, MUTQAN TOOLS! مرحبا 🚀النتيجة:
SGVsbG8sIE1VVFFBTiBUT09MUyEg2YXYsdit2KjYpyDwn5qAHel ثلاثة بايتات تصير SGVs، وهي بداية نتيجة المثال؛ أما الحرف العربي م وحده فبايتان، فينتهي ترميزه بحرف «=» واحد.Hel — أول ثلاثة بايتات في المثال
النص
H e l
بايتات UTF-8 (hex)
48 65 6c
البتات
01001000 01100101 01101100
مجموعات من 6 بتات
010010 000110 010101 101100
القيمة (من 0 إلى 63)
18 6 21 44
ناتج Base64
S G V s
م — حرف عربي واحد، بايتان في UTF-8
النص
م
بايتات UTF-8 (hex)
d9 85
البتات
11011001 10000101 00
مجموعات من 6 بتات
110110 011000 010100
القيمة (من 0 إلى 63)
54 24 20
ناتج Base64
2 Y U =
الخطوط المتصلة حدود البايتات، والمتقطعة حدود مجموعات الستة بتات. والخانات الباهتة ليست من المدخل: البتات الصفرية وحرف «=» المضافة حشواً، والمكان الفارغ للبايت الناقص.
الأسئلة الشائعة حول مرمّز Base64
ما الفرق بين Base64 وBase64url؟
يستبدل Base64url (RFC 4648 §5) الحرف «+» بـ «-» والحرف «/» بـ «_»، ويحذف عادةً حشو «=»، فتكون النتيجة آمنة للاستخدام في عناوين URL وأسماء الملفات ورموز JWT دون الحاجة إلى ترميز النسبة المئوية (percent-encoding).
كيف تُعالَج الأحرف غير الإنجليزية؟
يُحوَّل النص أولاً إلى بايتات UTF-8، لذا تُرمَّز النصوص العربية والهندية والرموز التعبيرية (emoji) وأي نص Unicode آخر وتُستعاد بشكل صحيح. ويجب على برامج فكّ الترميز أيضاً قراءة البايتات بترميز UTF-8.
متى ينبغي استخدام التفاف الأسطر؟
تستخدم نصوص رسائل البريد الإلكتروني بصيغة MIME أسطراً من 76 حرفاً، وتستخدم ملفات PEM أسطراً من 64 حرفاً. أما data URI وقيم JSON وترويسات HTTP فيجب أن تبقى في سطر واحد — فاترك الالتفاف معطّلاً فيها.
هل يشفّر Base64 بياناتي؟
لا. إنه ترميز قابل للعكس يمكن لأي شخص فكّه. استخدمه لنقل البيانات الثنائية على هيئة نص، وليس لإخفاء الأسرار أبداً.
لماذا يكون الناتج أطول من المدخل؟
تتحوّل كل 3 بايتات إلى 4 أحرف، لذا يكون Base64 أكبر من البايتات الخام بنحو 33 % (إضافةً إلى فواصل الأسطر إذا كان الالتفاف مفعّلاً).
ملاحظات تقنية
يحوّل Base64 (RFC 4648) كل 3 بايتات من المدخل إلى 4 أحرف من أبجدية مكوّنة من 64 حرفاً، وتُحشى المجموعة الأخيرة بالحرف «=». يُحوَّل النص إلى UTF-8 أولاً، لذا يكون الناتج مطابقاً على مستوى البايت وقابلاً للتبادل مع atob/btoa (بعد معالجة UTF-8) وBuffer.from(..., "base64") وأدوات base64 في سطر الأوامر.
المراجع
- RFC 4648: The Base16, Base32, and Base64 Data Encodingsأبجديات Base64 وBase64url وقواعد الحشو وترميز hex (Base16).
- Base64 — MDN Glossary — MDNBase64 في المتصفح: btoa/atob والنسخة الآمنة لعناوين URL وحجم الزيادة عند ترميز البيانات الثنائية.
- RFC 2397: The "data" URL schemeكيف تُضمَّن الملفات الصغيرة داخل عنوان URL بالصيغة data:<mediatype>;base64,<data>.