Когда у вас возникают проблемы с кодировками в Python3? - PullRequest
0 голосов
/ 13 апреля 2020

Недавно я подробно изучил ASCII, Unicode, UTF-8, UTF-16 и др. c. в Python3, но я изо всех сил пытаюсь понять, когда возникнут проблемы при чтении / записи в файлы.

Итак, если я открою файл:

with open(myfile, 'a') as f:
    f.write(stuff)

, где stuff = 'Hello World!' У меня нет проблем с записью в файл. Если у меня есть что-то вроде: non_latin = '娜', я все равно могу записать в файл без проблем.

Так когда же возникают проблемы с кодировками? Когда можно использовать encode () и decode ()?

1 Ответ

1 голос
/ 13 апреля 2020

Вы сталкиваетесь с проблемами, если кодировка по умолчанию для вашей ОС не поддерживает написанные символы. В вашем случае значение по умолчанию (полученное из locale.getpreferredencoding(False)), вероятно, UTF-8. На Windows по умолчанию используется кодировка ANSI, такая как cp1252, и она не поддерживает китайский язык. Лучше быть явным и использовать open(myfile,'w',encoding='utf8') например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...