Форум сайта python.su
0
Из dive into python
In Python 3, all strings are sequences of Unicode characters. There is no such thing as a Python string encoded in UTF-8, or a Python string encoded as CP-1252. “Is this string UTF-8?” is an invalid question. UTF-8 is a way of encoding characters as a sequence of bytes. If you want to take a string and turn it into a sequence of bytes in a particular character encoding, Python 3 can help you with that. If you want to take a sequence of bytes and turn it into a string, Python 3 can help you with that too. Bytes are not characters; bytes are bytes. Characters are an abstraction. A string is a sequence of those abstractions.
Офлайн
47
UCS-2 или UCS-4 в зависимости от опции при компиляции
Офлайн
857
Jinoникакая, это прямой юникод, он один
Какая кодировка у этой строки?
Офлайн
33
Офлайн
0
Budulianin
Хорошо, если я правильно понял, то строки в питоне представляют абстракцию над последовательностью байтов. Мне не нужно думать ни про кодировки, ни про что-либо еще, когда я работаю со строкой - мне достаточно знать, что туда я могу записать любой символ юникода. Если строковые данные мне нужно передавать или получать, тогда я пользуюсь хелпер-методами encode/decode. А по всяким вещам вроде оптимальности используемой памяти при работе со строчками, я полагаюсь на то, что это достаточно хорошо реализовано в интерпретаторе. Я прав?
Офлайн
33
JinoДля Python3.x да. В Python2 строки не Unicode.
Хорошо, если я правильно понял, то строки в питоне представляют абстракцию над последовательностью байтов. Мне не нужно думать ни про кодировки, ни про что-либо еще, когда я работаю со строкой - мне достаточно знать, что туда я могу записать любой символ юникода.
JinoДа, в программе надо работать с Unicode, в видео объяснили почему.
Если строковые данные мне нужно передавать или получать, тогда я пользуюсь хелпер-методами encode/decode.
JinoЕсли не на него, то на кого?
А по всяким вещам вроде оптимальности используемой памяти при работе со строчками, я полагаюсь на то, что это достаточно хорошо реализовано в интерпретаторе
Отредактировано Budulianin (Окт. 24, 2013 19:45:32)
Офлайн
47
Jinoначиная с python3.3 реализовано достаточно гибко http://www.python.org/dev/peps/pep-0393/
А по всяким вещам вроде оптимальности используемой памяти при работе со строчками, я полагаюсь на то, что это достаточно хорошо реализовано в интерпретаторе
Офлайн