Будет ли все в стандартной библиотеке обрабатывать строки как 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 на турецкие символы в текстовом файле с помощью Python
  • Как перебирать символы Unicode в Python 3?
  • Какой самый быстрый способ снять и заменить документ с высокими символами Юникода с помощью Python?
  • subprocess.Popen с помощью пути unicode
  • Unicode и `decode ()` в Python
  • Django UnicodeEncodeError в форме рендеринга ('utf-8')
  • Как сопоставить ударные символы с регулярным выражением в Python?
  • декодирование-кодирование UTF-8 не приводит к исходному юникоду
  •  
    Interesting Posts for Van-Lav

    Python TypeError: 'str' не поддерживает интерфейс буфера

    IPython в Windows – без подсветки или автозаполнения

    подписывать определенную строку из csv-читателя python?

    Различные версии msvcrt в ctypes

    Зачем загружать статические файлы для каждого шаблона, даже если он расширяется?

    Python: травление высокорекурсивных объектов без использования `setrecursionlimit`

    импортные побочные эффекты при регистрации: как сбросить модуль регистрации?

    Списки Python / словари против массивов numpy: управление производительностью и памятью

    Python – сообщение HTTP из stdin

    двойная кавычка в os.system на окнах

    Как получить значение из ячейки фрейма данных?

    Как удалить или заменить подстроку в Python, определяемую начальной и конечной точкой?

    Pycharm 5.0.1: сканирование файлов на индексирование навсегда

    ImportError: нет модуля с именем «matplotlib» – использование среды Contacflow Anaconda

    Python: Bad JSON – Ключи не цитируются

    Python - лучший язык программирования в мире.