سيكون كل شيء في المكتبة القياسية علاج سلاسل unicode في بيثون 3.0?

StackOverflow https://stackoverflow.com/questions/91205

سؤال

أنا مرتبك قليلا حول كيفية المكتبة القياسية سوف تتصرف الآن أن الثعبان (من 3.0) هو تستند إلى unicode.سوف وحدات مثل CGI و urllib استخدام سلاسل unicode أو استخدامهم جديدة 'بايت نوع فقط توفير ترميز البيانات ؟

هل كانت مفيدة؟

المحلول

منطقيا الكثير من الأشياء مثل MIME ترميز رسائل البريد, عناوين, مستندات XML ، وهكذا ينبغي أن تعاد كما bytes لا السلاسل.هذا يمكن أن يسبب بعض الذعر مثل المكتبات البدء يكون مسمر على بيثون 3 و يكتشف الناس أنها يجب أن تكون أكثر وعيا bytes/string التحويلات من كانوا على str/unicode ...

نصائح أخرى

واحدة من أشياء عظيمة عن هذا السؤال (الثعبان في العامة) هو أنه يمكنك فقط يعبث في المترجم! بيثون 3.0 rc1 هو متاح حاليا للتحميل.

>>> import urllib.request
>>> fh = urllib.request.urlopen('http://www.python.org/')
>>> print(type(fh.read(100)))
<class 'bytes'>

سيكون هناك خطوتين الرقص هنا.انظر بيثون 3000 و.

الخطوة 1 على التوالي تحت 3.0.

الخطوة 2 إلى إعادة التفكير API ربما لا شيء أكثر عقلانية.

المسار الأكثر ترجيحا هو أن المكتبات ستتحول إلى سلاسل unicode أن تبقى متوافقة قدر الإمكان مع الطريقة التي تستخدم في العمل.

ثم ربما بعض ستتحول إلى بايت على أكثر بشكل صحيح تنفيذ RFC معايير بروتوكولات مختلفة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top