حشو 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]
إذا اختلف الناتج في تمرينك، سجّل المدخل بالبايتات، واسم النسخة، ووجود الحشو؛ ثم قارنه بالجدول. لا نقيس هنا سرعة برنامج أو نقل ملف.
اقرأ أيضًا: الجمع والطرح في النظام الثنائي.
المراجع
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
