Будет ли все в стандартной библиотеке обрабатывать строки как unicode в Python 3.0?

Я немного смущен тем, как стандартная библиотека будет вести себя сейчас, когда Python (из 3.0) основан на Unicode. Будут ли модули, такие как CGI и urllib, использовать строки Unicode, или они будут использовать новый тип «байтов» и просто предоставить закодированные данные?

3 Solutions collect form web for “Будет ли все в стандартной библиотеке обрабатывать строки как unicode в Python 3.0?”

Логически многие вещи, такие как MIME-кодированные почтовые сообщения, URL-адреса, XML-документы и т. Д., Должны быть возвращены как bytes а не строки. Это может вызвать некоторое недоумение, поскольку библиотеки начинают прибиваться к Python 3, и люди обнаруживают, что им нужно больше знать о преобразованиях bytes / string чем они были для str / unicode

Одна из замечательных вещей в этом вопросе (и Python в целом) заключается в том, что вы можете просто возиться в интерпретаторе! В настоящее время Python 3.0 rc1 доступен для загрузки .

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

Здесь будет двухэтажный танец. См. Python 3000 и вы .

Шаг 1 – запустить под 3.0.

Шаг 2 – переосмыслить ваши API, возможно, сделать что-то более разумное.

Наиболее вероятным является то, что библиотеки будут переключаться на строки unicode, чтобы оставаться максимально совместимыми с тем, как они работали.

Тогда, возможно, некоторые переключаются на байты, чтобы более правильно реализовать стандарты RFC для различных протоколов.

  • Ошибка кодирования Unicode Beautiful Soup
  • UnicodeDecodeError: кодек ascii не может декодировать байт 0xef в позиции 1
  • Не удалось сопоставить сравнение юникода Python
  • В Python, как перечислять все символы, соответствующие расширенному регулярному выражению POSIX ``?
  • Конвертировать или вырезать «незаконные» символы Юникода
  • Значения Unicode в строках экранируются при сбрасывании на JSON в Python
  • UnicodeEncodeError при использовании функции компиляции
  • Изменение кодировки Windows cmd вызывает сбой Python
  • Python: использование .format () в строке с экранированным Unicode
  • Python NLTK: SyntaxError: не-ASCII-символ '\ xc3' в файле (анализ сглаживания -NLP)
  • Python DictWriter записывает CSV-файлы с кодировкой UTF-8
  • Python - лучший язык программирования в мире.