2017-04-21 7 views
0

C r monie、どうすればこれらの文字をPythonでデコードしてcérémonieにするのですか? C�r�monieを:Pythonが奇妙な文字をデコードする

line.encode('utf-8').decode('utf-8') 

私は "ラテン-1" および "UTF-8" でそれをデコードするが、同じ結果を得ることを試みてきました。 "行"は文字列なので、直接デコードできません。

私はあまりにも、ファイルを開いたときに使用してエンコードしようとしましたが、同じ結果を得る:私は理由があることを行う

:C�r�monie

f = open('data/u.item', 'r', encoding='latin-1') 
lines = f.readlines() 
for line in lines: 
    print(line) 
+0

を私の文字列をreconverteあなたのpythonを使用しています2または3? – gonczor

+0

私はpython3を使用しています – LarmadVara

+2

最初にそのファイルにデータを書き込んだコードを書いたのですか、それとも制御していないプロセスによって生成されていますか? –

答えて

1

私はbinaire(2.7)を使用します「binaire列」

に私は、文字列(データ)を分離

:Pythonは私の文字列の使用の

例を読み取ることができませんでした私はバイトに置き換え、私はウィッヒ

print binaire 

とウィッヒのchar corespondを見つける

binaire = ' '.join(format(ord(x), 'b') for x in data) 

:例

binaire = binaire.replace("11101010", "1100101") # replace ê by e in my case 

私はPythonの文字列に

res = bitstring_to_bytes(binaire) 



def bitstring_to_bytes(tab): 
     tab = tab.split(" ") 
     string = "" 
     for t in tab: 
      string = string + bitchar_to_bytes(t) 
     return string 

def bitchar_to_bytes(s): 
    v = int(s, 2) 
    b = bytearray() 
    while v: 
      b.append(v & 0xff) 
     v >>= 8 
    return bytes(b[::-1])