يظهر Base64 باستمرار في تطوير الويب: الصور المضمّنة، ورموز JWT، ومرفقات البريد، واستجابات API. فهمه يجعل كثيرًا من المهام أوضح.
ما هو Base64؟
Base64 طريقة لترميز البيانات الثنائية كنص. فهي تمثل البيانات الثنائية (البايتات) باستخدام 64 حرفًا فقط من أحرف ASCII القابلة للطباعة:
A–Z وa–z و0–9 و+ و/ (و= للحشو)
يأتي اسم «Base64» من هذه الأحرف الأربعة والستين. كل 3 بايتات من البيانات الثنائية تصبح 4 أحرف Base64.
لماذا وُجد Base64؟
صُممت أنظمة كثيرة في الأصل للتعامل مع النصوص فقط: البريد الإلكتروني (SMTP)، وسمات HTML، وحقول JSON، والروابط. وعندما تحتاج إلى وضع بيانات ثنائية (صورة أو ملف PDF أو بايتات خام) داخل نظام نصي، فأنت بحاجة إلى طريقة آمنة لتمثيلها كنص.
يحل Base64 هذه المشكلة بترميز أي محتوى ثنائي كسلسلة من أحرف آمنة قابلة للطباعة لا تسيء محللات النصوص تفسيرها.
استخدامات شائعة
تضمين الصور في HTML/CSS
بدل الربط بملف صورة:<img src="data:image/png;base64,iVBORw0KGgo..." />
هذه الطريقة مفيدة للأيقونات الصغيرة في ملفات HTML المصدّرة كملف واحد أو في قوالب البريد التي قد تُحجب فيها الروابط الخارجية.
رموز JSON Web Token (JWT)
يتكون JWT من ثلاثة أجزاء مرمّزة بـ Base64 يفصل بينها نقاط:Header.Payload.Signature
الترويسة والحمولة كائنات JSON مرمّزة بـ Base64. انتبه: إنها مرمّزة وليست مشفّرة، ويمكن لأي شخص فك ترميزها. استخدم أداة فك ترميز JWT في ZapFile لفحص محتوى الرمز.
مرفقات البريد الإلكتروني (MIME)
مرفقات البريد ملفات ثنائية مرمّزة بـ Base64 داخل بروتوكول البريد النصي. يتولى برنامج البريد ذلك تلقائيًا.استجابات API
تعيد بعض واجهات API بيانات ثنائية (صورًا أو ملفات PDF) كسلاسل Base64 داخل استجابات JSON، لأن JSON لا يدعم البيانات الثنائية أصلًا.مصادقة HTTP Basic
ترمّز الترويسةAuthorization: Basic عبارة اسم_المستخدم:كلمة_المرور بـ Base64. هذا ليس تشفيرًا بل مجرد ترميز. استخدم HTTPS دائمًا.
الترميز وفك الترميز عبر الإنترنت
استخدم أداة ترميز Base64 وفكّه في ZapFile من أجل:
- ترميز النصوص أو الملفات إلى سلاسل Base64
- فك ترميز Base64 إلى نص أو ملفات قابلة للتنزيل
- معاينة روابط بيانات الصور المضمّنة فورًا
هل يضغط Base64 البيانات؟
لا، بل العكس. يزيد Base64 حجم البيانات بنحو 33%، إذ تصبح ثلاثة بايتات أربعة أحرف. Base64 للتوافق وليس للضغط.
Base64 أم Base64url؟
يستخدم Base64 القياسي الحرفين + و/ اللذين لهما معنى خاص في الروابط. أما Base64url فيستبدلهما بـ - و_ ليصبح الناتج آمنًا في معاملات الروابط ورموز JWT.
الخلاصة
- يمثل Base64 البيانات الثنائية كنص ASCII قابل للطباعة لاستخدامها في الأنظمة النصية
- شائع في الصور المضمّنة وJWT ومرفقات البريد واستجابات API
- يزيد الحجم بنحو 33%، فهو للتوافق وليس للضغط
- فك ترميز JWT أو أي سلسلة Base64 فورًا باستخدام أدوات ZapFile