我使用 python 2.7。 我想将 unicode 值字符串转换为 unicode。
print u'abc' == unicode('abc') #True
print u'\u0026abc' == unicode('\u0026abc') #False
我想做的是让 '\u0026abc' 成为一个变量并转换为 u'\u0026abc'。
但是你可以看到 unicode('\u0026abc') 不等于 u'\u0026abc'。
有什么方法可以让我将 '\u0026abc' 之类的变量变成 u'\u0026abc' 吗?
请您参考如下方法:
在字节串中 '\uxxxx' 没有特殊的转义序列,它只是一个反斜杠后跟 'u'。如果你真的有一个带有\u sequnces 的字节串,使用正则表达式将它们转换为 unicode:
import re
text = '\\u0026abc'
text = re.sub('\\\\u(....)', lambda x:unichr(int(x.group(1),16)), text)
