تقنية

splitlines في بايثون: لماذا لا تقطع bytes عند \v؟

النص ينقسم عند الجدولة الرأسية إلى a وb.
حد سطر في النص.

حدود السطور في str وbytes ليست متطابقة. [1]

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

\v حد سطر في النص، ويظل بايتًا داخل العنصر الثنائي هنا. [1]

  • حدود السطور في str وbytes ليست متطابقة. [1]
  • في str، \v تعني الجدولة الرأسية وهي حد سطر. [1]
  • مثال مؤلف على CPython 3.12.14: s="a\vb"؛ binary=s.encode("ascii")، وبايتاتها [97,11,98]. [1]
  • s.splitlines() تعطي ["a","b"]؛ binary.splitlines() تعطي [b"a\x0bb"]، عنصرًا واحدًا. [1]
  • تحكم: b"a\nb".splitlines() تعطي [b"a",b"b"]؛ فصل LF يعمل هنا؛ بقيت المدخلات كما كانت. [1]

نوع المدخل

حدود السطور في str وbytes ليست متطابقة. [1]

الجدولة الرأسية

في str، \v تعني الجدولة الرأسية وهي حد سطر. [1]

نص وبايتات

مثال مؤلف على CPython 3.12.14: s="a\vb"؛ binary=s.encode("ascii")، وبايتاتها [97,11,98]. [1]

s.splitlines() -> ["a","b"] [1]

البايتات 97 و11 و98 تبقى في عنصر واحد.
بايت محفوظ.

الفرق والتحكم

s.splitlines() تعطي ["a","b"]؛ binary.splitlines() تعطي [b"a\x0bb"]، عنصرًا واحدًا. [1]

binary.splitlines() -> [b"a\x0bb"] [1]

تحكم: b"a\nb".splitlines() تعطي [b"a",b"b"]؛ فصل LF يعمل هنا؛ بقيت المدخلات كما كانت. [1]

المراجع

  1. Python — splitlines

للتوسع: لغات البرمجة.

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