如何解码存储在 python3 变量中的非 b 前缀字符串,如 '\xd0\xbc'?

How to decode non-b-prefixed string like '\xd0\xbc' stored in variable in python3?

我有一些来自 API 的变量。 例如:

a == '\xd0\xbc'

我需要解码a得到变量b:

b == 'М'

但是我不能写这样的代码:

a = b'\xd0\xbc'
b = a.decode()

因为此文本 (\xd0\xbc) 已经在变量中。

这会有帮助吗?我想有更好的方法,但我不知道

>>> a = r'\xd0\xbc'
>>> b = 'b"{}"'.format(a)
>>> c = eval(b)
>>> d = c.decode()
>>> d
'\u043c'

您需要使用 str.encode() 并传递 encoding="latin" 以获得 b == 'M'

a = str.encode('\xd0\xbc', 'latin')
b = a.decode()
print(b)

如果 "latin" 不是您要查找的标准编码,try others