حاسبة عبء ترميز Base64
المدخلات
| الحجم الثنائي | 1 MB |
|---|
حاسبة عبء ترميز Base64
أدخل حجم البيانات الثنائية لمعرفة حجم الناتج المُرمَّز بـ Base64 والمساحة الإضافية التي يضيفها الترميز.
المدخلات
المُدخل الثنائي
النتائج
أدخل قيمة لعرض النتائج.
الناتج المُرمَّز
تفصيل الحجم
عبء ترميز Base64
Base64 نظام ترميز ثنائي-نصي يُمثِّل البيانات الثنائية الاعتباطية بمجموعة من 64 محرف ASCII قابل للطباعة. الطريقة المعيارية لتضمين المحتوى الثنائي في القنوات النصية — مرفقات البريد الإلكتروني ومعرِّفات URI للبيانات في HTML وشهادات PEM وحمولات JSON في الواجهات البرمجية تعتمد جميعها عليها. الترميز بدون فقدان وقابل للعكس، لكنه يزيد حجم البيانات بنحو الثلث.
آلية ترميز Base64
يقرأ Base64 المُدخل الثنائي في مجموعات من 3 بايت (24 بتاً) ويُعيِّن لكل مجموعة أربعة محارف يحمل كل منها 6 بتات:
يُمثِّل كل محرف من المحارف الـ 64 قيمةً من 0 إلى 63، مختاراً من A–Z و a–z و 0–9 و + و /. الناتج مضمون خلوُّه من محارف التحكم والبايتات الصفرية والبايتات التي تتجاوز 127 — آمن لأي وسيلة نقل متوافقة مع ASCII.
صيغة الحجم
لأن كل 3 بايت مدخلة تتحول إلى 4 بايت مُرمَّزة، يكون الحجم المُرمَّز:
السقف (التقريب للأعلى) يعالج المُدخلات التي طولها ليس مضاعفاً لـ 3 بإضافة محرف أو محرفَي حشو = للمجموعة الأخيرة.
العبء كنسبة من الحجم الأصلي:
للمُدخلات التي طولها مضاعف دقيق لـ 3 بايت، يساوي هذا بالضبط .
مثال توضيحي
ملف ثنائي بحجم 1 MB (1,000,000 بايت):
التداعيات العملية
البريد الإلكتروني وMIME. تُرمَّز المرفقات بـ Base64 داخل متن الرسالة؛ ولهذا تُضخِّم مرفق PDF بحجم 3 MB حجم البريد إلى نحو 4 MB.
معرِّفات URI للبيانات. تضمين صورة PNG بحجم 200 KB كـ data URI في ملف HTML أو CSS يُنتج نحو 267 KB من النص، مما يزيد حجم الصفحة. لأيقونات صغيرة يتجنب هذا طلب HTTP إضافي؛ لكنه خسارة صافية في الغالب للصور الكبيرة.
واجهات JSON البرمجية. تُرمَّز الكتل الثنائية (صور ومقاطع صوتية وتوقيعات تشفيرية) في أغلب الأحيان بـ Base64 قبل وضعها في سلاسل JSON إذ لا تمتلك JSON نوعاً ثنائياً أصيلاً. يجب على المستدعين احتساب عبء الترميز عند تخطيط أحجام الحمولة.
Base64 الآمن للروابط. تستبدل بعض الأنظمة + بـ - و / بـ _ لإنتاج ناتج آمن في مسارات الروابط ومعاملات الاستعلام دون الحاجة إلى ترميز النسبة المئوية. حسابات الحجم متطابقة.
حاسبة نسبة الضغط تُساعد في تقييم ما إذا كان ضغط البيانات قبل الترميز يمكنه تعويض جزء من العبء — فالبيانات المضغوطة كثيراً ما تُرمَّز بكفاءة أعلى لكل بايت.
محوّل الأنظمة العددية مفيدة عند العمل مع التمثيلات الست عشرية أو الثنائية التي يُرمِّزها Base64 في نهاية المطاف.
الأسئلة الشائعة (FAQ)
لماذا يُضيف Base64 عبئاً بنحو 33٪؟
يُرمِّز Base64 كل 3 بايت من البيانات الثنائية على هيئة 4 محارف ASCII قابلة للطباعة. تحمل ثلاثة بايت 24 بتاً من المعلومات؛ وتحمل أربعة محارف Base64 أيضاً 24 بتاً (6 بتات لكل محرف)، لكن كل محرف يشغل بايتاً كاملاً في صيغة النص.
النتيجة أن 3 بايت تتحول إلى 4 بايت — زيادة بمقدار الثلث بالضبط، أي نحو 33.3٪. إذا لم يكن طول المُدخل مضاعفاً لثلاثة، تُضاف محارف حشو (=) لإكمال المجموعة الرباعية الأخيرة، مما قد يرفع العبء قليلاً فوق 33٪.
متى يُستخدم ترميز Base64 ولماذا؟
يُحوِّل Base64 البيانات الثنائية إلى مجموعة فرعية آمنة من محارف ASCII القابلة للطباعة لتمريرها عبر القنوات النصية دون تلف. الاستخدامات الشائعة: تضمين الصور والخطوط مباشرةً في HTML وCSS (معرِّفات URI للبيانات)، وإرسال مرفقات ثنائية في البريد الإلكتروني (MIME)، وترميز المفاتيح التشفيرية والشهادات (صيغة PEM)، ونقل الحمولات الثنائية في واجهات برمجية JSON.
عبء الـ 33٪ هو الثمن المقبول لضمان الانتقال الآمن عبر القنوات النصية.
ما الفرق بين Base64 والترميز الست عشري (Hex)؟
يُمثِّل الترميز الست عشري (Hex أو Base 16) كل بايت برقمين ست عشريين، فيُضاعف حجم البيانات دائماً — عبء 100٪. يستخدم Base64 مجموعة من 64 محرفاً، مما يُتيح 6 بتات لكل محرف بدلاً من 4، فيترتب على ذلك ترميز البيانات في 4/3 من عدد المحارف بدلاً من الضعف.
يُعدُّ Base64 الخيار القياسي حين يُشكِّل حجم الناتج قيداً؛ أما Hex فيُفضَّل حين تكون القراءة البشرية أو تتبع الأخطاء هي الأولوية، لأن كل زوج من الأرقام الست عشرية يتوافق مباشرةً وبوضوح مع بايت واحد.
ما الغرض من محارف = في نهاية ناتج Base64؟
يعالج Base64 المُدخل في مجموعات مؤلفة من 3 بايت. حين تحتوي المجموعة الأخيرة على بايت واحد فقط، تُلحَق محرفا = ؛ وحين تحتوي على بايتين، يُلحَق محرف = واحد. يضمن هذا أن يكون طول الناتج دائماً مضاعفاً للأربعة، مما يُبسِّط فك الترميز.
لا تحمل محارف الحشو أي معلومات — تُحذفها بعض الأنظمة (مثل Base64 الآمن للروابط) وتُعيد بناءها من طول الناتج عند فك الترميز.