تقنية

حشو Base64: لماذا ينتهي الناتج بعلامة المساواة؟

بايتان مقسمان إلى مجموعات سداسية
الصفران الملونان يكمّلان آخر مجموعة.

حشو Base64 يكمل الكتلة الأخيرة؛ ليس بايتاً من المدخل. [1]

الخلاصة السريعة

الكتلة الأخيرة: بايت ينتج ==، بايتان =، ثلاثة بلا حشو؛ للقياسي المحشو. [1]

  • قسّم المدخل لمجموعات ستة بتات؛ كل مجموعة تختار رمزاً. [2]
  • D3 4A تنتج المجموعات 110100،110100،101000، ثم 00o=. آخر بتين صفران مضافان. [2]
  • الحشو يدل على طول الكتلة الأخيرة، ولا يُستعاد بيانات. [1]
  • دون فواصل أسطر: الطول 4×ceil(N/3) لعدد N من البايتات؛ بايتان يصيران أربعة محارف، بزيادة 100%. [2]
  • القياسي يستخدم +/، وbase64url يستخدم -_؛ حذف الحشو يتبع المواصفة. [1]
  • الترميز قابل للعكس ولا يوفر سرية؛ تغيّر شكل البيانات لا يحميها. [1]

ابدأ بالبايتات

كل بايت ثمانية بتات؛ ثلاثتها 24 بتاً، تنقسم إلى أربع مجموعات سداسية. نقرأ من اليسار. [2]

المثال بيانات ثنائية اخترناها، لا كلمة مشفرة ولا صورة تجربة؛ D3 و4A مكتوبان بالنظام الست عشري.

تتبّع البتات قبل اختيار الرموز

D3=11010011، و4A=01001010. نضم الستة عشر بتاً، ونضيف صفرين لتكتمل المجموعة الأخيرة: 110100،110100،101000. [2]

الفهارس 52،52،40 تختار 0،0،o؛ الناتج 00o=. الرمز o صغير، وليس O كبيراً. [2]

افصل البتات الصفرية عن علامة الحشو

الصفران يكملان المجموعة السداسية، و= يكمل أربعة محارف؛ لا يُستعادان بيانات. [1]

للمقارنة: D3 تصبح 0w==؛ وD3 4A تصبح 00o=؛ وD3 4A 00 تصبح 00oA بلا حشو. [1]

احسب طول النص الناتج

لعدد N من البايتات، طول القياسي المحشو دون أسطر إضافية هو 4×ceil(N/3). الدالة ceil تقرّب للأعلى. [2]

بايتان ينتجان أربعة محارف: زيادة 100%، وليست دائماً ثلثاً. المقارنة لبايتات المدخل ومحارف الناتج وحدها. [2]

مقارنة المدخل والناتج والحشو
علامات المساواة تتبع طول الكتلة الأخيرة.

حدد النسخة ولا تستنتج السرية

القياسي يستخدم + و/؛ base64url يستخدم - و_. لا تحذف = إلا إذا سمحت مواصفة الاستخدام. [1]

Base64 لا يوفر سرية: يستطيع القارئ فك الترميز دون مفتاح سري. [1]

إذا اختلف الناتج في تمرينك، سجّل المدخل بالبايتات، واسم النسخة، ووجود الحشو؛ ثم قارنه بالجدول. لا نقيس هنا سرعة برنامج أو نقل ملف.

اقرأ أيضًا: الجمع والطرح في النظام الثنائي.

المراجع

  1. RFC 4648: الحشو وحدود الترميز
  2. MDN: مجموعات Base64 وحجمها

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.