带有翻译表的Python解码

时间:2018-12-10 15:13:04

标签: python encoding

我有一个用晦涩的“ mik-bulgarian”编码的文本文件 我正在尝试将其转换为utf-8。 到目前为止,我发现我必须将文件读取为字节并以某种方式将其转换为具有转换表的文件。 以下是我要转换的字符串的一些片段

  

未解码-> NAMEЈ°。 Џ«®ў¤Ёў

     

十六进制->名称\ xa3 \ xb0。 \ x8f \ xab \ xae \ xa2 \ xa4 \ xa8 \ xa2 \ r \ n

cadFile = open(filename,"rb")
filetext = cadFile.read()

#filetest = filetext.translate(mikxtbl)

print(filetext)


 mikxtbl = { \
...
        0x80: "Cyrillic capital letter A (U+0410)",
        0x81: "Cyrillic capital letter BE (U+0411)",
        0x82: "Cyrillic capital letter VE (U+0412)",
        0x83: "Cyrillic capital letter GHE (U+0413)",
        0x84: "Cyrillic capital letter DE (U+0414)",
        0x85: "Cyrillic capital letter IE (U+0415)",
        0x86: "Cyrillic capital letter ZHE (U+0416)",
        0x87: "Cyrillic capital letter ZE (U+0417)",
...
}

1 个答案:

答案 0 :(得分:1)

假设您想知道如何将解码后的字符串转换为utf-8:

tr = { 0x80: "\u0410",
       0x81: "\u0411",
       # etcetera ...
     }
"\x80\x81".translate(tr)
# result: 'АБ'