【发布时间】:2021-03-22 17:18:07
【问题描述】:
在某种情况下,我不得不将数据存储为 utf-8,而现在当我想获取和 decode('utf-8') 数据时,它根本不起作用。以下面的行为例:
\x0d\x0a\xd8\xb3\xd8\xa7\xd9\x82\xdb\x8c\xe2\x80\x8c\xd9\x86\xd8\xa7\xd9\x85\xd9\x87
您可以简单地复制下面的行,将上面的字符串转换为人类可读的格式:
b"\x0d\x0a\xd8\xb3\xd8\xa7\xd9\x82\xdb\x8c\xe2\x80\x8c\xd9\x86\xd8\xa7\xd9\x85\xd9\x87".decode("utf-8")
但是找不到将字符串转换为bytestring 而不损坏字符串的方法。我尝试了以下方法,但都失败了:
.decode("utf-8")
.decode()
.bytes()
到目前为止,我无法在操作系统或其他地方找到解决方案。感谢任何帮助。
【问题讨论】:
-
print("\x0d\x0a\xd8\xb3\xd8\xa7\xd9\x82\xdb\x8c\xe2\x80\x8c\xd9\x86\xd8\xa7\xd9\x85\xd9\x87".encode("latin1").decode())返回 ˙ساقینامه˙(我不明白,抱歉)。 -
@JosefZ 这是正确的答案。但我不明白为什么
latin1,我的意思是你解码的字符串是farsi/persian为什么是latin1?你能否告诉我你是如何发现latin1是正确的编码?请将此作为答案,以便我可以接受此作为答案。谢谢,您保存了 30.000 条数据记录
标签: python-3.x utf-8 decode