将 Python 字符串转换为 unicode
<! -- 自动插入文本结束 -->;
我有一个包含 unicode 字符的字符串,例如 \u2026
等。不知为什么,我收到的字符串不是unicode
,而是str
。如何将其转换回 unicode?
>>> a="Hello\u2026"
>>> b=u"Hello\u2026"
>>> print a
Hello\u2026
>>> print b
Hello…
>>> print unicode(a)
Hello\u2026
>>>
因此,"unicode(a) "显然不是答案。那么什么才是答案呢?
53
3
Unicode 转义只在 unicode 字符串中起作用,因此这个
实际上是由 6 个字符组成的字符串:'', 'u', '2', '0', '2', '6'。
要将其转换成 unicode,请使用
decode('unicode-escape')
:使用 "unicode-escape "解码器解码:
这是因为对于非单码字符串来说,"unicode\u2026 "不会被识别,而是会被视为一系列字符(说得更清楚些,就是"'Hello\u2026'
)。您需要解码转义字符,而
unicode-escape` 编解码器可以帮您做到这一点。请注意,你可以通过指定编码解码器参数,让
unicode
以同样的方式识别它:但
a.decode()
方式更好。