Python解码奇怪的字符

时间:2017-04-21 11:15:47

标签: python decode encode

C r monie,我如何将python中的这些字符解码为cérémonie?

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

我试图用“latin-1”和“utf-8”解码它,但得到了相同的结果:C�r�monie。由于“line”是一个字符串,我不能直接解码它?

当我打开文件时,我尝试使用和编码,但得到相同的结果:C�r�monie

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

1 个答案:

答案 0 :(得分:1)

我使用binaire(2.7):

我这样做是因为python无法读取我的字符串

使用示例:

我在“binaire string”中分隔字符串(数据)

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

我发现char与之相对应

print binaire

我用byte替换:example

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])