Python 3 解码字符串

rmo*_*hea 6 python unicode python-3.x

我知道这可能是一个重复的问题,但我无法找到解决方案。

简而言之,我有一个要解码的字符串:

raw = "\x94my quote\x94"
string = decode(raw)
Run Code Online (Sandbox Code Playgroud)

预期从字符串

'"my quote"'
Run Code Online (Sandbox Code Playgroud)

最后一点要注意的是,我正在使用 Python 3,因此rawunicode 也是如此,因此已经被解码。鉴于此,我究竟需要做什么来“解码”"\x94"字符?

Cod*_*key 6

string = "\x22my quote\x22"
print(string)
Run Code Online (Sandbox Code Playgroud)

你不需要解码,Python 3为你做,但你需要双引号的正确控制字符"

但是,如果您有不同的字符集,看起来您有 Windows-1252,那么您需要从该字符集中解码字节字符串:

str(b"\x94my quote\x94", "windows-1252")
Run Code Online (Sandbox Code Playgroud)

如果您的字符串不是字节字符串,您必须先对其进行编码,我发现 latin-1 编码可以工作:

string = "\x94my quote\x94"
str(string.encode("latin-1"), "windows-1252")
Run Code Online (Sandbox Code Playgroud)