在Python中将字符串转换为Unicode
大家好!
我在把文本解码成unicode时遇到了一些麻烦。
我需要把一个字符串(它的值是
'\u4038' # or something like that
)转换成一个unicode符号。你能告诉我怎么做吗?
这个
len(unicode('\u4038'))
打印出来是6,所以这不是一个解决办法 :(
如果有必要的话,最终得到的符号大多数情况下是西里尔字母。
2 个回答
2
可能有更好的方法,但这里有一种:
In [27]: s = r'\u4038'
In [28]: len(ast.literal_eval('u"' + s + '"'))
Out[28]: 1
3
如果你说的是你有一个字符串 '\\u4038'
,你可以使用 unicode-escape
编码 来处理它:
>>> s = b'\\u4038' # == br'\u4038'
>>> print(s)
\u4038
>>> len(s)
6
>>> print(s.decode('unicode-escape'))
䀸
>>> len(s.decode('unicode-escape'))
1