ما هو ترميز Base64؟
Base64 هو نظام ترميز يحوّل البيانات الثنائية إلى نص، إذ يمثّل أي بيانات بايتية باستخدام 64 حرفًا فقط من حروف ASCII القابلة للطباعة: A-Z وa-z و0-9، إضافةً إلى + و/. يُستخدم على نطاق واسع لتضمين الصور داخل صفحات HTML/CSS (عبر روابط البيانات data URIs)، ولإرسال المرفقات الثنائية في البريد الإلكتروني (معيار MIME)، وفي رموز JSON Web Tokens، وفي كل موضع تحتاج فيه البيانات الثنائية إلى المرور بأمان عبر قناة نصية فقط. تقوم هذه الأداة بترميز أي نص تكتبه — حيث تُحسب بايتات UTF-8 أولًا ثم تُرمّز.
كيفية استخدام أداة الترميز
اكتب نصك أو الصقه في المربّع ثم اضغط على زر الإرسال. تحوّل الأداة النص إلى بايتات UTF-8، وتطبّق خوارزمية Base64 القياسية، ثم تعرض السلسلة المرمّزة مع عدد بايتات الإدخال وعدد أحرف الناتج.
شرح المعادلة
تقرأ الأداة بايتات الإدخال على دفعات من ثلاثة بايتات في كل مرة. تشكّل البايتات الثلاثة 24 بِتًا تنقسم بالتساوي إلى أربع مجموعات من 6 بِتات لكل منها. تُستخدم كل قيمة من 6 بِتات (من 0 إلى 63) كمؤشّر داخل الأبجدية لإنتاج حرف واحد في الناتج. وعندما لا يكون طول الإدخال من مضاعفات الرقم 3، تضيف الخوارزمية حشوًا إلى المجموعة الأخيرة: بايت واحد متبقٍّ يُنتج حرفين مع ==، وبايتان متبقّيان يُنتجان ثلاثة أحرف مع علامة = واحدة. لذا فإن طول الناتج يساوي دائمًا
مثال تطبيقي
لنرمّز النص Man. بايتاته بترميز ASCII هي 77 و97 و110 ← بالنظام الثنائي 01001101 01100001 01101110. وبتقسيمها إلى مجموعات من 6 بِتات: 010011 = 19 → T، و010110 = 22 → W، و000101 = 5 → F، و101110 = 46 → u. النتيجة: TWFu — أي 3 بايتات في الإدخال و4 أحرف في الناتج بدون حشو. وبالتعويض في المعادلة: \(L_{out} = 4 \left\lceil \frac{3}{3} \right\rceil = 4\).
الأسئلة الشائعة
لماذا ينتهي الناتج بعلامات = ؟ يملأ الحشو المجموعة الأخيرة عندما لا يكون إدخالك من مضاعفات 3 بايتات، فيبقى طول الناتج من مضاعفات الرقم 4.
هل يشفّر Base64 بياناتي؟ لا. Base64 ترميز وليس تشفيرًا — إذ يستطيع أي شخص فكّه بسهولة. كل ما يفعله هو جعل البيانات الثنائية قابلة للنقل بأمان كنص.
لماذا يكون الناتج أكبر حجمًا من الإدخال؟ يزيد Base64 حجم البيانات بنحو 33% لأن كل 3 بايتات تتحوّل إلى 4 أحرف.