tostring تعيد bytes، لكن encoding="unicode" يجعلها تعيد str. [1]
الخلاصة السريعة
لا؛ اختيار unicode يعطي نصًا. [1]
- tostring تعيد bytes، لكن encoding="unicode" يجعلها تعيد str. [1]
- الترميز الافتراضي US-ASCII؛ التمثيل يشمل العنصر وأبناءه. [1]
- على CPython 3.12.14، نمثل leaf بنص bud بالافتراضي ثم unicode. [1]
- في مثالنا، التمثيلان يحملان XML نفسه؛ نوع wire هو bytes، ونوع text هو str. [1]
- تحكم: يطابقان بايتات ونصًا مؤلفين مستقلًا؛ قراءتهما تستعيد bud؛ utf-8 يعيد bytes؛ تبقى الشجرة. [1]
اختيار نوع الخرج
tostring تعيد bytes، لكن encoding="unicode" يجعلها تعيد str. [1]
الافتراضي ونطاق التمثيل
الترميز الافتراضي US-ASCII؛ التمثيل يشمل العنصر وأبناءه. [1]
عنصر واحد
على CPython 3.12.14، نمثل leaf بنص bud بالافتراضي ثم unicode. [1]
import xml.etree.ElementTree as ET root=ET.fromstring("<leaf>bud</leaf>") wire=ET.tostring(root) text=ET.tostring(root,encoding="unicode") [1]

النوع والتحكم
في مثالنا، التمثيلان يحملان XML نفسه؛ نوع wire هو bytes، ونوع text هو str. [1]
print(type(wire).__name__,type(text).__name__) print(ET.fromstring(wire).text,ET.fromstring(text).text) [1]
تحكم: يطابقان بايتات ونصًا مؤلفين مستقلًا؛ قراءتهما تستعيد bud؛ utf-8 يعيد bytes؛ تبقى الشجرة. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
