【发布时间】:2014-02-11 13:38:26
【问题描述】:
我有一个 unicode 变量,比如 unicodeVar。例如,
u'\xea\xb1\xb8\xec\x8a\xa4\xeb\x8d\xb0\xec\x9d\xb4 \xeb\xaf\xb8\xeb\x8b\x88\xec\x95\xa8\xeb\xb2\x94 3\xec\xa7\x91' .
这就是我在控制台中简单地键入 unicodeVar 时的样子。 事实上,这是걸스데이 미니앨범 3집的表示。是的!这是韩国的。显然,这个变量被错误地解码为 unicode。 我从来没有在我的程序中使用 unicodeVar 得到这个。上面显示的是
的结果'\xea\xb1\xb8\xec\x8a\xa4\xeb\x8d\xb0\xec\x9d\xb4 \xeb\xaf\xb8\xeb\x8b\x88\xec\x95\xa8\xeb\xb2\x94 3\xec\xa7\x91'.decode('utf-8')
如果我这样做:unicodeVar.decode('unicode-escape'),结果是带有双斜杠的字符串。
赞'\\xea\\xb1\\xb8\\xec\\x8a\\xa4\\xeb\\x8d\\xb0\\xec\\x9d\\xb4 \\xeb\\xaf\\xb8\\xeb\\x8b\\x88\\xec\\x95\\xa8\\xeb\\xb2\\x94 3\\xec\\xa7\\x91'
问题是,我怎样才能从可变方式获得正确的表示?这意味着只使用 unicodeVar?
【问题讨论】:
-
一开始你是怎么把这个值放到变量中的?理想情况下,您应该首先修复程序中获得它的部分,而不是事后尝试重新编码... :)
-
它是函数的返回值,在 pyquery 模块中。该函数似乎没有任何问题:就像 PyQuery(#title).html()
-
@prehawk,
#title来自哪里?似乎获取网页内容的库没有正确处理编码(字符集),或者网页本身缺少编码信息。 -
@falsetru 是的!这是一个库名 pyquery。网页以 utf-8 编码。
标签: python string unicode character-encoding