ما هو ترميز Base64 ولماذا وُجد
Base64 هو مخطط ترميز من ثنائي إلى نص يحوّل البيانات الثنائية الاعتباطية — صور وملفات وسلاسل ثنائية — إلى مجموعة آمنة من أحرف ASCII (A-Z، a-z، 0-9، +، /) يمكن نقلها بشكل موثوق في أي مكان يُسمح فيه بالنص. صُمِّم لشبكة الإنترنت المبكرة، حيث كانت البروتوكولات (SMTP ورؤوس HTTP وسمات XML) تدعم نص ASCII 7-بت فقط.
كل قيمة مُرمَّزة بـ Base64 أكبر بنسبة 33% تقريباً من الأصل. هذا هو المقايضة: تدفع بالحجم لتحصل على نقل نصي آمن عالمي. لهذا يُستخدم Base64 لتضمين الصور في CSS (`data:image/png;base64,...`) وترميز رموز JWT وإرفاق الملفات في أجزاء MIME للبريد الإلكتروني وتخزين البيانات الثنائية في JSON وXML.
Base64 القياسي مقابل الآمن للروابط
يستخدم Base64 القياسي `+` و`/` كحرفين غير أبجديين رقميين. وهما محجوزان في عناوين URL، مما يعني أن سلسلة Base64 القياسية المدمجة في معامل استعلام URL ستنكسر بدون ترميز النسبة المئوية. يستبدل Base64 الآمن للروابط (يُعرف أيضاً بـ Base64url) `+` بـ `-` و`/` بـ `_`، مما يجعل الإخراج آمناً للروابط وأسماء الملفات.
تستخدم رموز JWT دائماً Base64 الآمن للروابط. عند الشك: Base64 القياسي لمحتوى الملفات والبريد الإلكتروني، وBase64 الآمن للروابط لأي شيء سيظهر في URL أو رأس HTTP.
حالات الاستخدام الشائعة لـ Base64
تضمين صور صغيرة مباشرة في HTML/CSS لتوفير طلب HTTP (روابط البيانات). ترميز بيانات اعتماد API في رؤوس HTTP Basic Auth. ترميز رأس وحمولة JWT. تخزين كتل البيانات الثنائية (كالمفاتيح التشفيرية) في ملفات `.env` أو متغيرات البيئة. ترميز مرفقات الملفات في البريد الإلكتروني. تمرير البيانات الثنائية عبر قنوات نصية فقط كحمولات JSON للواجهات البرمجية.