ما هو Base64؟
Base64 طريقة لتمثيل البيانات الثنائية — كالصور والملفات وأي نص — باستخدام 64 حرفاً مقروءاً من ASCII فقط: A–Z وa–z و0–9 والرمزان + و/. وهو ليس تشفيراً ولا يوفّر أي حماية؛ بل يحوّل البيانات إلى صيغة نصية آمنة يمكنها المرور عبر أنظمة تتعامل مع النص العادي فقط.
الاسم يأتي من الأحرف الـ64 في أبجديته. كل 3 بايتات من المدخل تتحوّل إلى 4 أحرف Base64، ولهذا يكون ناتج Base64 دائماً أكبر بنحو الثلث من البيانات الأصلية.
لماذا يُستخدم Base64؟
صُمّمت أنظمة كثيرة للتعامل مع النص لا البيانات الثنائية الخام. وBase64 يجسر تلك الفجوة. ومن استخداماته الشائعة: تضمين الصور مباشرة في HTML أو CSS كروابط بيانات، وإرفاق الملفات بالبريد (MIME)، وتخزين بيانات ثنائية في JSON أو XML، وترميز بيانات الاعتماد في بعض ترويسات مصادقة API.
مثلاً، يمكن تضمين أيقونة صغيرة مباشرة في صفحة ويب كرابط بيانات Base64، فيُلغى طلب ملف منفصل وتُسرَّع الصفحة.
كيف تُرمّز النص إلى Base64
الخطوة 1. افتح أداة ترميز/فك Base64 المجانية وتأكّد من اختيار وضع الترميز.
الخطوة 2. اكتب أو الصق نصك في صندوق الإدخال. الأداة آمنة مع UTF-8، فالحروف المشكّلة والعربية والهندية وحتى الرموز التعبيرية تُرمّز بشكل صحيح.
الخطوة 3. يظهر ناتج Base64 فوراً على اليمين. انقر نسخ لاستخدامه. مثلاً، كلمة "Hello" تُرمّز إلى SGVsbG8=.
كيف تفك ترميز Base64 إلى نص
بدّل الأداة إلى وضع الفك والصق سلسلة Base64. يُستعاد النص الأصلي فوراً. وإن فشل الفك، فالمدخل غالباً ليس Base64 صالحاً — ربما تنقصه أحرف أو فيه مسافات زائدة أو لم يكن Base64 أصلاً.
طريقة سريعة لتمييز Base64 أنه غالباً ينتهي بعلامة أو علامتي يساوي (=) للحشو، ويحتوي فقط على حروف وأرقام و+ و/.
هل Base64 آمن؟
لا. وهذا أهم ما يجب فهمه: Base64 ترميز وليس تشفيراً. يمكن لأي شخص فكّه فوراً بلا مفتاح. لا تستخدم Base64 أبداً لإخفاء كلمات المرور أو البيانات الحسّاسة ظنّاً أنها محمية. وإن احتجت أماناً، فاستخدم تشفيراً حقيقياً. أما Base64 فمقصده فقط جعل البيانات قابلة للنقل كنص.
مثال حقيقي: الترميز خطوة بخطوة
لنفترض أنك تريد ترميز كلمة Hi. إليك ما يحدث خلف الكواليس:
- تتحوّل الحروف إلى قيم بايتاتها: H = 72، i = 105.
- تُكتب تلك البايتات بالنظام الثنائي: 01001000 01101001.
- يعيد Base64 تجميع البتات في كتل من 6 ويربط كل كتلة بأحد أحرفه الـ64.
- والنتيجة
SGk=— حيث علامة=في النهاية للحشو.
لا تحتاج لفعل هذا يدوياً أبداً. الهدف أن ترى لماذا يبدو الناتج مشوّشاً وأطول قليلاً من المدخل: إنه إعادة تغليف أمينة وقابلة للعكس للبايتات الأصلية.
أين سترى Base64 فعلاً
Base64 موجود في كل مكان بمجرد أن تعرف ما تبحث عنه:
- روابط البيانات: صور صغيرة مضمّنة مباشرة في HTML أو CSS كـ
data:image/png;base64,...لتجنّب طلب ملف إضافي. - مرفقات البريد: معيار MIME يرمّز الملفات بـBase64 لتنجو من أنظمة البريد النصية فقط.
- JSON وواجهات API: البيانات الثنائية كالصور أو الرموز تُرسَل داخل JSON كسلاسل Base64.
- ترويسات المصادقة الأساسية: اسم المستخدم وكلمة المرور يُدمجان ويُرمّزان بـBase64 (لا يُشفّران) في ترويسة Authorization.
- رموز JWT: أجزاء رمز JSON Web Token تُرمّز بـBase64url.
Base64 مقابل Base64url: فرق صغير لكنه مهم
يستخدم Base64 القياسي الحرفين + و/، ولهما معانٍ خاصة في الروابط. ولإرسال Base64 بأمان داخل عنوان ويب، يستبدل متغيّر يُسمّى Base64url الحرف + بـ- و/ بـ_. وإذا فشل فك رمز من رابط، فهذا غالباً السبب — إنه Base64url لا Base64 عادي.
أخطاء شائعة تجنّبها
- اعتبار Base64 أماناً. يمكن لأي شخص عكسه. لا تخزّن كلمات المرور كـBase64 ظنّاً أنها محمية.
- نسيان الحشو. إزالة علامات
=النهائية قد تكسر الفك في بعض الأدوات. - خلط Base64 وBase64url. فك أحدهما كالآخر يفشل عند الأحرف
+ / - _. - ترميز ملفات ضخمة. يضيف Base64 نحو الثلث للحجم، فهو أفضل للأصول الصغيرة لا الفيديوهات الكبيرة.