Как использовать кодеки для преобразования с одного языка в документ с кодировкой utf-8?

В общем, я все еще довольно плохо знаком с Python, и у меня есть проблема, когда у меня есть документ на японском языке, который я пытаюсь преобразовать в документ с кодировкой utf-8. Я действительно не знаю, что я должен получить взамен, когда я делаю это. Когда я запускаю программу, которая у меня сейчас есть, она просто удаляет все и оставляет мне пустой документ в кодировке utf-8. Вот что я имею, любая помощь очень ценится.

РЕДАКТИРОВАТЬ: Извините, что это была опечатка, я исправил оригинальную кодировку. Это Shift-Jis.

import codecs

codecs.open("rshmn10j.txt", 'r', encoding='shift-jis')

newfile = codecs.open("rshmn10j.txt", 'w', encoding='utf-8')
newfile.write(u'\ufeff')
newfile.close()

1 ответ

Решение

Если вы пытаетесь преобразовать документ из кодировки "x" в кодировку "utf8", сначала вы должны прочитать документ, используя кодировку, в которой он кодирован.

import codecs

original_document_encoding = "shift-jis" # common japanese encoding.
with codecs.open("rshmn10j.txt", 'r', encoding=original_document_encoding) as in_f:
    unicode_content = in_f.read()

with codecs.open("rshmn10j.out.txt", 'w', encoding='utf-8') as out_f:
    out_f.write(unicode_content)

with используется здесь для автоматического закрытия файла при выходе из блока.

Другие вопросы по тегам