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-файл в первую очередь – кроме этого, это не изменяет порядок работы вашего кода.

  • Python CGI - UTF-8 не работает
  • В чем разница между «кодированием = utf8» и «-» - кодированием: utf-8 - * - '?
  • Преобразовать каждое значение словаря в utf-8 (понимание словаря?)
  • напечатать символ UTF-8 в Python 2.7
  • Вопросы преобразования UTF-8 latin-1, python django
  • Запись строки UTF-8 в MySQL с помощью Python
  • «TypeError: строковый аргумент без кодировки», но строка закодирована?
  • Преобразование в UTF-8 (снова)
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.