2017-11-05 20 views
0

CP1250でエンコードされたファイルとして保存する必要があるUTF-8エンコードファイルがあります。私は私のエディタでUnicode文字列contentsを検査するときだから私はPython UTF8ファイルをCP1250に変換する

import codecs 
# Read file as UTF-8 
with codecs.open("utf.htm", "r", 'utf-8') as sourceFile: 
    # Write file as CP1250 
    with codecs.open('win1250.htm', "w", "cp1250", "xmlcharrefreplace") as targetFile: 
     while True: 
      contents = sourceFile.read() 
      if not contents: 
       break 
      targetFile.write(contents) 

以下、すべての文字は罰金であると思いませんでした。しかし、メモ帳で最終ファイルを開くと、ファイルが正しく書き込まれません。たとえば、文字řの代わりに、記号øが表示されます。何がここで間違っているアイデアですか?

おかげ

答えて

2

メモ帳は、おそらくファイルがCP-1252でエンコードされたテキストを保持していると考えて:

>>> 'ř'.encode('cp1250').decode('cp1250') 
'ř' 
>>> 'ř'.encode('cp1250').decode('cp1252') 
'ø' 

これは、メモ帳の問題です。メモ帳++のように手動でエンコードを指定できるテキストエディタを使用します。

関連する問題