Python:用“\ xf3”(ó)获得unicode。想要转换为stró。怎么样?

时间:2014-07-23 11:51:13

标签: python unicode

我正在使用API​​,在响应中我得到了一个带有\ xf3的unicode。我想将它转换为字符串但我收到错误。 Python 2.7,顺便说一句。

编辑:

为了更清楚: 假设我有一个带有键的序列,包括带有'ó'的字符串

a = {'camión': 3}

我正在尝试检查带有“\ xf3”的unicode对象是否是dict的键。所以,例如,我尝试使用:

u"cami\xf3n" in a

返回False。如果我尝试打印那个unicode对象,我会得到“camión”,但我不能做一个简单的演员去那里(例外)。

所以,我问如何从你的“cami \ xf3n”(unicode)传递到“camión”(字符串)并且能够在之前传递条件

1 个答案:

答案 0 :(得分:4)

您使用的是哪种编码?对于字符串和unicode,没有" cast",你想使用给定的编码进行编码(unicode到字符串)或解码(字符串到unicode)(提示:总是使用utf- 8是你最安全的赌注。)

一旦你知道你正在使用哪种编码,你只需要解密/编码,即:

Python 2.7.3 (default, Feb 27 2014, 19:58:35) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> bytekey = "éà" # using my default system encoding => utf-8
>>> a = {bytekey: 42}
>>> a
{'\xc3\xa9\xc3\xa0': 42}
>>> bytekey in a
True
>>> ukey = u"éà"
>>> ukey
u'\xe9\xe0'
>>> ukey in a
False
>>> ukey.encode("utf-8")
'\xc3\xa9\xc3\xa0'
>>> ukey.encode("utf-8") in a
True
>>>