الإجابة السريعة: كلمة “Hello” بترميز Base64 هي SGVsbG8=، وكلمة “مرحبا” (10 بايتات في UTF-8) تصبح 2YXYsdit2KjYpw==.
طريقة الحساب
يكتب Base64 (المعيار RFC 4648) البيانات الثنائية بـ64 حرفًا آمنًا: A–Z وa–z و0–9 و+ و/. وكل 3 بايتات تصبح 4 أحرف، فيطول الناتج بنحو الثلث، وتُكمَّل النهاية بعلامة “=” إذا لم يكن عدد البايتات من مضاعفات 3.
يُحوَّل النص أولًا إلى بايتات بترميز UTF-8. فالحرف الإنجليزي بايت واحد، والحرف العربي بايتان، ومعظم الرموز التعبيرية أربعة بايتات، ولهذا يعطي النص العربي ناتج Base64 أطول.
الأبجدية الآمنة للروابط تستبدل + و/ بـ- و_ وتحذف علامات الإكمال، لاستخدامها في عناوين الويب والرموز المميزة. وBase64 ترميز وليس تشفيرًا، فيمكن لأي أحد فكه.
أمثلة محلولة
- Hello ← SGVsbG8=
- مرحبا ← 2YXYsdit2KjYpw==
- SGk= ← Hi
أمثلة
| النص | Base64 |
|---|---|
| Hi | SGk= |
| Hello | SGVsbG8= |
| مرحبا | 2YXYsdit2KjYpw== |
| سلام | 2LPZhNin2YU= |
| SahlCalc | U2FobENhbGM= |
الأسئلة الشائعة
هل Base64 آمن؟
لا. هو يغيّر شكل البيانات فقط ويمكن لأي أحد فكه، فاستخدم التشفير لحماية المعلومات.
لماذا يظهر النص بعد فك الترميز بأحرف غريبة أحيانًا؟
غالبًا رُمِّز الأصل من مجموعة أحرف أخرى مثل Windows-1256، وهذه الأداة تفك ترميز UTF-8، وهو معيار الويب.
هل يُرسل النص إلى أي مكان؟
لا، فالترميز وفكه يجريان داخل متصفحك.
كم يزيد طول Base64 على النص الأصلي؟
نحو الثلث، فكل 3 بايتات تصبح 4 أحرف، والـ300 بايت تخرج 400 حرف، وأحيانًا تنتهي بعلامة = أو اثنتين.
أين يُستخدم Base64؟
حيثما احتجنا إلى نقل بيانات ثنائية على شكل نص: مرفقات البريد، والصور المضمّنة في صفحات الويب، ورموز JWT، وبيانات الدخول في ترويسات HTTP.
ما فائدة الأبجدية الآمنة للروابط؟
Base64 العادي يستخدم + و/، ولكل منهما معنى خاص في عنوان الويب. أما النسخة الآمنة فتضع بدلهما - و_ وتحذف الحشو = غالبًا، فتضع الناتج مباشرة في رابط أو اسم ملف.