小编Bac*_*sau的帖子

在 Python 3 中从非 ascii 字符串解码转义的 unicode

我已经搜索了几个小时来找到一种方法来完全反转 str.encode 调用的结果,如下所示:

"testäch?er".encode("cp1252", "backslashreplace")
Run Code Online (Sandbox Code Playgroud)

结果是

b'test\xe4ch\\u57faer'
Run Code Online (Sandbox Code Playgroud)

现在我想把它转换回来

b'test\xe4ch\\u57faer'.decode("cp1252")
Run Code Online (Sandbox Code Playgroud)

我得到

'testäch\\u57faer'
Run Code Online (Sandbox Code Playgroud)

那么我如何得到我的?背部?我通过使用 decode("unicode-escape") 来接近那里(它适用于这个例子),但假设字节编码为 iso8859-1 而不是 cp1252,所以 80 和 9F 之间的任何字符都是错误的。

python unicode encoding decode escaping

4
推荐指数
2
解决办法
2560
查看次数

标签 统计

decode ×1

encoding ×1

escaping ×1

python ×1

unicode ×1