Python и UTF-8: что-то путать

Я нахожусь в google-приложении с Python 2.5. Мое приложение должно иметь дело с мультиязыками, поэтому мне приходится иметь дело с utf-8.

Я сделал много google, но не получаю то, что хочу.

1.Whats использование # -*- coding: utf-8 -*- ?

2. В чем разница между

 s=u'Witaj świecie' s='Witaj świecie' 

«Witaj świecie» – это строка utf-8.

3.Когда я сохраняю файл .py в «utf-8», мне все еще нужен u перед каждой строкой?

One Solution collect form web for “Python и UTF-8: что-то путать”

u'blah' превращает его в другую строку (тип unicode а не тип str ) – он делает его последовательностью кодов unicode. Без него это последовательность байтов . Только байты могут быть записаны на диск или в сетевой поток, но вы обычно хотите работать в Unicode (хотя Python и некоторые библиотеки сделают для вас некоторое преобразование) – кодировка (utf-8) – это перевод между эти. Итак, да, вы должны использовать u перед всеми вашими литералами, это сделает вашу жизнь намного проще. См. Programic Unicode для лучшего объяснения.

Линия кодирования сообщает Python, в какой кодировке находится ваш файл, так что Python может это понять. Опять же, чтение с диска дает байты – но Python хочет видеть символы . В Py2 кодировка по умолчанию для кода – ASCII, поэтому строка кодирования позволяет вам помещать вещи, подобные ś непосредственно в ваш .py-файл в первую очередь – кроме этого, это не изменяет порядок работы вашего кода.

Interesting Posts

Объединить две строки в том же Dataframe, если их индекс одинаковый?

Как цикл for для вычисления аргумента

Комплексный прекрасный суп-запрос

Python Tornado предоставляет статический каталог

Можно ли обрабатывать события pygame в списке select.select?

строки на иврите в python для s60

Каков рекомендуемый способ построения: matplotlib или pylab?

Интерполировать (или экстраполировать) только небольшие пробелы в кадре данных панд

Ошибка командной строки Python timeit: «SyntaxError: EOL при сканировании строкового литерала»

Как я могу перечислить все ошибки, связанные с формой, в Django?

Как выполнить экспоненциальную и логарифмическую подгонку кривой в Python? Я нашел только полиномиальную подгонку

Почему 2 ** 100 намного быстрее, чем математика (2100)?

Регулярное выражение Python с внешним видом и альтернативами

Переопределение поведения генерации новой строки оператора печати Python

Возвращает `undefined` из функции Python с PyV8?

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