Python解码奇怪的字符
C�R�monie,我如何将python中的这些字符解码为cérémoniePython解码奇怪的字符,python,decode,encode,Python,Decode,Encode,C�R�monie,我如何将python中的这些字符解码为cérémonie line.encode('utf-8').decode('utf-8') 我试着用“拉丁语-1”和“utf-8”来解码它,但得到了相同的结果:Cè½rè½monie。因为“line”是一个字符串,所以我不能直接解码 当我打开文件时,我也尝试使用和编码,但得到了相同的结果:Cï½rï½monie f = open('data/u.item', 'r', encoding='latin-1') lines = f.re
line.encode('utf-8').decode('utf-8')
我试着用“拉丁语-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)
我使用binaire(2.7):
我这样做是因为python无法读取我的字符串
使用示例:
我在“binaire字符串”中分隔字符串(数据)
我发现wich char与wich有共同的反应
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])
您使用的是python 2还是python 3?我使用的是python 3DID您编写的代码最初是在该文件中写入数据的,还是由您无法控制的某个进程生成的?如果您以二进制模式打开该文件:
f=open('data/u.item','rb')
打印(repr(line))打印什么?是的,它不是由我处理的,我刚刚意识到文件中的一些数据被破坏了。现在觉得自己很愚蠢。谢谢你的帮助
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])