如何解码像'\xd0\xbc';存储在python3的变量中?
我有一些来自API的变量。 例如:如何解码像'\xd0\xbc';存储在python3的变量中?,python,python-3.x,python-3.5,Python,Python 3.x,Python 3.5,我有一些来自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) >>>
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'
这有用吗?我想有更好的方法,但我不知道
>>> 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)
如果
“拉丁语”
不是您要查找的标准编码 您需要使用str.encode()
并传递encoding=“latin”
以获得b==“M”
a = str.encode('\xd0\xbc', 'latin')
b = a.decode()
print(b)
如果
“拉丁语”
不是您要查找的标准编码 我无法想象这里有一种与Latin1不同的编码方式,因为它定义了256以下所有unicode码点的unicode值。是的,你是对的。虽然,使用“utf-8”
会得到不同的结果。我无法想象这里的编码会与Latin1不同,因为它定义了256以下所有unicode代码点的unicode值。是的,你是对的。尽管如此,使用“utf-8”
会得到不同的结果。