У меня есть файл с японской записью в Юникоде, и я хочу преобразовать его в Shift-JIS и распечатать его в Shift-JIS закодированном файле. Я делаю это:Python 3: работает мой скрипт unicode2shift-jis, кроме файла ASCII. Зачем?
with open("unikanji.txt", 'rb') as unikanjif:
unikanji = unikanjif.read()
sjskanji = unikanji.decode().encode('shift-jis')
with open("kanji.txt", 'wb') as sjskanjif:
sjskanjif.write(sjskanji)
Он работает за исключением того, что когда я открываю kanji.txt всегда открывается как файл Анси, не Shift-JIS, и я вижу MISC символы вместо японского языка. Если я вручную изменю кодировку файла на Shift-JIS, то разные символы превратятся в правильные японские символы. Как мне заставить мою программу создать файл как Shift-JIS для начала?
Возможно, вы захотите прочитать [ask] и [mcve]. – boardrider
Это проблема с тем, как вы открываете выходной файл для чтения, а не с кодом, который отлично записывает текст с кодировкой shift-jis. Независимо от того, какой текстовый редактор вы используете, он не правильно определяет кодировку, но это не проблема с файлом или кодом, который его создает. – Blckknght