我在python3中有一些字符串,它们应该是CP860(葡萄牙语),但我认为它们是在UTF-8中显示的。有人能告诉我如何在python3中将UTF-8字符串转换成CP860字符串吗?你知道吗
字符串是“proteçÃo para bebê”,应该是“de proteço para bebè”
我尝试了几个代码,但没有工作,分享其中一个在这里。你知道吗
>>> a = "Cercadinho e grade de proteção para bebê".encode('cp860')
>>> print(a)
b'Cercadinho e grade de prote\x87\x84o para beb\x88' ==> Result
结果是错误的,它应该在CP860(de proteção para bebê)中,如上所述
你看到的是双重编码的文本,首先是UTF-8,然后是拉丁语-1。你知道吗
您需要首先清理mojibake,然后您可以编码到cp860,如果您想这样做的话:
注意,在python3中,编码文本的类型是
bytes
,而不是str
,因此说您拥有或想要“utf-8 strings”或“cp860strings”并不是真正有意义的:有bytestrings(bytes
),可以从特定编码(utf-8、cp860等)解码成str
。你知道吗相关问题 更多 >
编程相关推荐