ما هو Base64؟
Base64 يمثّل البيانات الثنائية كنص باستخدام 64 محرفاً آمناً (A–Z وa–z و0–9 و+ و/)، فتتحول كل ثلاثة بايتات إلى أربعة محارف، ويكبر الناتج نحو 33% عن المدخل. وُجد ليمرّ المحتوى الثنائي عبر قنوات مصممة للنص — البريد الإلكتروني وJSON وعناوين URL وترويسات HTTP. إنه ترميز لا تشفير: يمكن لأي شخص فكّه.
ملاحظة أمنية: Base64 لا يخفي شيئاً. بيانات الاعتماد أو الرموز أو البيانات الشخصية المرمّزة بـ Base64 فقط هي عملياً نص صريح؛ استخدم TLS أثناء النقل وتشفيراً حقيقياً عند التخزين.
اقرأ الدليل: ما هو Base64؟ شرح الترميز
كيفية استخدام مفكّك ترميز Base64
- الصق سلسلة Base64 (تعمل مقاطع JWT وعناوين data: URI أيضاً).
- اقرأ النص الناتج والملاحظات حول الإصلاحات التي أُجريت.
- بدّل ترميز النص إذا ظهرت في النتيجة أحرف �.
- انسخ النتيجة أو نزّلها.
UTF-8 يظهر é إذا قُرئ بترميز Latin-1، وفي الاتجاه المعاكس يظهر �.| مدخل Base64 | فك ترميز النص كـ | |
|---|---|---|
| UTF-8 | Latin-1 / سلسلة ثنائية | |
Y2Fmw6k=café محفوظة بـ UTF-8 | caféنجاح | caféلا تنبيه: كل بايت صالح في Latin-1فشل |
Y2Fm6Q==café محفوظة بـ Latin-1 | caf�تنبّه الأداة: ليس نص UTF-8 صالحاً، جرّب Latin-1فشل | caféنجاح |
كل خانة هي ما يعرضه مفكّك الترميز في الأداة نفسها لهذا المدخل وهذا الإعداد.
مزايا مفكّك ترميز Base64
- يفكّ ترميز Base64 القياسي والآمن لعناوين URL، مع اكتشاف الأبجدية تلقائياً
- يصلح الحشو المفقود ويتجاهل المسافات البيضاء وبادئات data: URI
- يبلّغ عن الأحرف غير الصالحة مع مواضعها؛ ويرفضها الوضع الصارم
- يكتشف المحتوى الثنائي وأنواع الملفات المعروفة، مع عرض سداسي عشري (hex dump)
- فكّ الترميز بصيغة UTF-8 أو Latin-1 أو UTF-16 LE أو UTF-16 BE
- تنزيل النص الناتج؛ وفكّ ترميز فوري أثناء اللصق
مثال على مفكّك ترميز Base64
فكّ ترميز حمولة JWT بصيغة Base64url
الإدخال:
eyJzdWIiOiJ1c2VyXzhmM2EyYyIsInJvbGUiOiJhZG1pbiIsIm5vdGUiOiJ3aHk_In0النتيجة:
{"sub":"user_8f3a2c","role":"admin","note":"why?"}
Notes: Missing padding repaired (1 "=" added). Detected the URL-safe alphabet (Base64url).الأسئلة الشائعة حول مفكّك ترميز Base64
لا تنتهي السلسلة بـ «=» — هل سيُفكّ ترميزها رغم ذلك؟
نعم. يُضاف الحشو المفقود تلقائياً ويُذكر في الملاحظات، لذا تُفكّ قيم Base64url القادمة من رموز JWT وعناوين URL دون أي تعديل.
ماذا يحدث مع الأحرف غير الصالحة؟
افتراضياً تُتخطّى الأحرف الواقعة خارج الأبجدية (وجميع المسافات البيضاء) وتُدرج مع مواضعها. فعّل الوضع «الصارم» (Strict) لرفض المدخل بدلاً من ذلك — وهو مفيد عند التحقق من بيانات قادمة من نظام آخر.
يعرض الناتج � أو رموزاً غريبة — لماذا؟
البايتات الناتجة ليست نص UTF-8. فقد تكون بيانات ثنائية (صورة أو ZIP أو PDF — تكتشف الأداة التوقيعات الشائعة وتعرض عرضاً سداسياً عشرياً) أو نصاً بترميز قديم؛ جرّب «Latin-1» في الحالة الأخيرة.
هل يمكنني فكّ ترميز data: URI؟
نعم. الصق السلسلة الكاملة «data:image/png;base64,…»؛ تُزال البادئة ويُبلَّغ عن نوع المحتوى.
ملاحظات تقنية
يتسامح مفكّك الترميز مع المدخلات الواقعية: فيزيل المسافات البيضاء، ويقبل الأبجديتين، ويحشو السلسلة إلى مضاعف للعدد أربعة، ويحذف الحرف الزائد عندما يكون الطول غير صالح (باقي القسمة على 4 يساوي 1). يبحث اكتشاف المحتوى الثنائي عن بايتات NUL أو نسبة مرتفعة من أحرف التحكم أو تسلسلات UTF-8 غير صالحة، وتحدّد توقيعات الملفات أنواع PNG وJPEG وGIF وPDF وZIP وgzip وغيرها.
المراجع
- 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>.