在python中将str转换为unicode

时间:2014-03-02 12:50:12

标签: python string unicode encoding character-encoding

美好的一天! 我在将文本解码为unicode方面遇到了麻烦。 我需要转换等于

的str
    '\u4038' # or something like that       

在ASCII中,我需要将此字符串转换为一个unicode符号。你能解释一下吗?怎么做?

    len(unicode('\u4038')) 

打印6,所以这不是解决方案:(

如果需要,结果符号在大多数情况下都是西里尔文。

2 个答案:

答案 0 :(得分:3)

如果您的意思是字符串为'\\u4038',则可以使用unicode-escape encoding

>>> s = b'\\u4038' # == br'\u4038'

>>> print(s)
\u4038
>>> len(s)
6

>>> print(s.decode('unicode-escape'))
䀸
>>> len(s.decode('unicode-escape'))
1

答案 1 :(得分:1)

可能有更好的方法,但这里有一个:

In [27]: s = r'\u4038'

In [28]: len(ast.literal_eval('u"' + s + '"'))
Out[28]: 1