تقنية

encode_base64 في بايثون: هل يعيد النص المرمز؟

None مع حمولة مرمزة
القيمة والأثر. [1] [2]

نفحص دالة قديمة على حمولة مؤلفة. [1] [2]

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

لا؛ تعيد None وتعدل الرسالة هنا. [1] [2]

  • نستخدم واجهة Compat32 القديمة. [1] [2]
  • الحمولة الأصلية b'R'، والمرمزة Ug== ثم سطر جديد. [1] [2]
  • تضيف رأس Content-Transfer-Encoding: base64. [1] [2]
  • get_payload(decode=True) يعيد البايتات الأصلية هنا. [1] [2]
  • المرجع يعد الوحدة مهجورة؛ المثال لفحصها. [1] [2]
  • نطاقنا 3.12.14؛ دون إرسال أو مرفق فعلي أو رسالة متعددة الأجزاء. [1] [2]

المثال

from email.message import Message
from email.encoders import encode_base64
m=Message();m.set_payload(b'R')
print(encode_base64(m))
print(repr(m.get_payload()))
print(m.get_payload(decode=True))

[1] [2]

المخرجات None ثم 'Ug==\n' ثم b'R'. [1] [2]

القيمة والأثر

الحمولة تغيرت داخل الرسالة؛ غياب قيمة معادة لا يعني غياب التعديل. [1] [2]

رأس base64 وبايتات مفكوكة
نقرأ من الرسالة. [1] [2]

النص المرمز تمثيل للحمولة؛ نقرأه من الكائن. [1] [2]

الرأس هنا Content-Transfer-Encoding: base64؛ وفك الحمولة يعيد b'R'. [1] [2]

حدود الفحص

هذه واجهة Compat32 قديمة؛ الوحدة مهجورة وفق المرجع. [1] [2]

رسالة مفردة مؤلفة. لا نعمم على الرسائل المتعددة الأجزاء أو كل الإصدارات. [1] [2]

المراجع

  1. Python: email.encoders
  2. CPython 3.12.14: encoders.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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