Python « lower() для кириллицы
Требуется сделать lower() для кириллицы. Гугл сказал следующее:
print unicode('Трололо', 'utf-8').upper().encode('utf-8')
У меня питон ругается на это UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-1: invalid data
В самом скрипте # -*- coding: utf-8 -*-
Как пофиксить, подскажите?
1 ответов
# -*- coding: utf-8 -*-
print u"Трололо".lower()
Кодируйте (encode()) юникодные строки в utf-8 если хотите сохранить их в файле. Декодируйте при чтении из файла. Внутри программы, соответственно, для представления строк используйте unicode-объекты.
Справедливо для 2.x.