LINUX.ORG.RU

Python, latin_1 и utf


0

0

Есть текстовый файл, который надо считать и преобразовать из latin_1 в utf8. В этом тексте есть немецкие умляуты, которые в ASCII не входят. По этой причине encode('utf_8','replace') ругается: "UnicodeDecodeError: 'ascii' codec can't decode byte 0x81 in position 2: ordinal not in range(128)". В документации про encode написано "Default encoding is the current default string encoding.". Как сменить эту "default string encoding" на latin_1? Или лучше использовать другие способы? Какие?

anonymous

Ответ на: комментарий от annoynymous

А как мне задать эту кодировку, чтобы encode не ругался? У encode можно задать только целевую кодировку, а исходную - как?

anonymous
()
Ответ на: комментарий от anonymous

encode делает из unicode-строки обычную. Соотв. указывать исходную кодировку не имеет смысла. Тебе нужен decode('latin_1'), а не encode.

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

Понял, спасибо! Теперь работает.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.