Base64: نقل البايتات كنص، لا إخفاء الأسرار
يفيد Base64 عندما تحتاج قناة نصية إلى حمل بيانات بايتية. تغيّر الحروف شكل البيانات، لكنها لا تجعلها سرية ولا تختصرها بالضرورة.
الحساب يبدأ بالبايتات لا بعدد الحروف
في Base64 المعتاد تمثل كل 3 بايتات بأربعة محارف، وتكمل علامة = المجموعة الأخيرة عند الحاجة. لذلك يكون الطول مع الحشو 4 × تقريب عدد البايتات مقسومًا على 3 إلى الأعلى.
يمكن أن يحتاج حرف واحد أكثر من بايت في UTF-8. لهذا قد يكون نص عربي قصير أطول بعد الترميز من نص لاتيني له عدد الحروف نفسه.
المراجع: RFC 4648 — Base encodings, padding and security considerations
الترميز ليس تشفيرًا
من يملك النص المرمز يستطيع عادة فكّه دون مفتاح سري. لا تستخدم Base64 لحماية كلمة مرور أو لإخفاء معلومة في رابط مشترك.
تعامل مع الناتج بالحساسية نفسها التي تعامل بها الأصل. إذا كان الهدف منع الآخرين من القراءة، فهذه مسألة تشفير وصلاحيات، لا تغيير أبجدية النص.
المراجع: RFC 4648 — Base encodings, padding and security considerations
حدد نوع الناتج المتوقع
هذه الأداة تحول النص باستخدام UTF-8 وتفك Base64 إلى نص UTF-8 صالح. ملف صورة مرمز قد يكون Base64 صحيحًا، لكنه ليس نصًا صالحًا للعرض هنا.
تختلف صيغة base64url المستخدمة في بعض الروابط عن الصيغة العادية. لا تضف أو تحذف علامات عشوائيًا لإجبار قيمة على القبول؛ اعرف الصيغة المطلوبة من مصدرها.
المراجع: RFC 4648 — Base encodings, padding and security considerations
مثال: عدد الحروف لا يحدد حجم الترميز
النص Hi! يتكون من 3 بايتات UTF-8، ويصبح SGkh: أربعة محارف بلا حشو. فكّه يعيد النص نفسه، ولا توجد كلمة مرور مطلوبة لذلك.
كلمة «مرحبا» تتكون من 5 حروف و10 بايتات UTF-8، وتصبح 2YXYsdit2KjYpw== بطول 16 محرفًا. الحجم يُحسب من البايتات، وعلامتا = لا تعنيان أن حرفين من الكلمة حُذفا.