تقنية

plistlib في بايثون: هل البيانات داخل XML تصبح نصًا؟

البايت R يعود bytes والنص R يعود str
نوع القيمة بعد القراءة. [1] [2]

وجود البيانات في XML لا يجعل القيمة المستعادة نصًا. [1] [2]

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

يختلف نوع البايتات عن نوع النص في مثالنا. [1] [2]

  • تدعم plistlib قيم bytes وstr. [1] [2]
  • تعيد dumps التمثيل المحفوظ في بايتات. [1] [2]
  • نختار FMT_XML صراحةً. [1] [2]
  • يحفظ data البايتات بتمثيل Base64؛ تعيد القراءة bytes للأولى وstr للثانية. [1] [2]
  • اختبرنا 3.12.14 في الذاكرة؛ لم نكتب ملفًا. [1] [2]

المثال

import plistlib as p
for x in [b'R','R']:
 y=p.loads(p.dumps(x,fmt=p.FMT_XML))
 print(type(y).__name__)

[1] [2]

المخرجان bytes ثم str. [1] [2]

التمثيل والقيمة

وسم data يحفظ البايتات بتمثيل Base64، ووسم string يحفظ النص. القراءة تستعيد نوع كل قيمة؛ نوع وعاء XML لا يساوي نوع محتواه. [1] [2]

وسم data يعيد bytes ووسم string يعيد str
وسمان مختلفان. [1] [2]

حدود التجربة

الحرف R مؤلف للتوضيح. لا نقيس الأداء، ولا نعمم حفظ كل أنواع الكائنات على هذه المقارنة. [1] [2]

المراجع

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

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