Да хотя бы тем что можно писать на родном (как на дефолтном) строки для меток в гуи, например, или в Джанго.
Комментарии тоже (хотя я лично приверженец писать комментарии на английском)
FerromanЧто значит “строки для меток в гуи”? Префикс “u” для строк можно использовать при любой кодировке исходника.
Да хотя бы тем что можно писать на родном (как на дефолтном) строки для меток в гуи, например, или в Джанго.
Комментарии тоже (хотя я лично приверженец писать комментарии на английском)
Префикс “u” для строк можно использовать при любой кодировке исходника.Это не так. Попробуйте сами.
Если исходник не в utf-8, комментарии вполне можно писать не на английском.
The gray CardinalМожно конечно все не latin1 строки вынести в отдельный файл, но не всегда это возможно или удобно.
Чем конкретно выигрывают?
kvazarв юникоде…
в какой кодировке будут значения элементов списка?
FerromanНичего не понял. Следующий код не должен работать? Почему работает, что я не правильно делаю?Префикс “u” для строк можно использовать при любой кодировке исходника.Это не так. Попробуйте сами.
Если исходник не в utf-8, комментарии вполне можно писать не на английском.
# -*- coding: cp1251 -*-
import codecs, sys
outf = codecs.getwriter('cp866')(sys.stdout, errors='replace')
sys.stdout = outf
print u'Привет, мир!' # Киса, ку-ку!
kvazarДа, ты правильно понял :) Не только с utf-8 это нужно делать, но и с cp1251 и пр. Есть тип unicode, и есть str. Если это latin1 то необязательно в юникод преобразовывать.
Тоесть если я правильно понял, то, чтобы мне манипулировать со строкой, делать срезы, приводить к разному регистру, поиск в строке. Всегда надо переводить строку в юникод?.. или это касается только, если используется utf-8?