2017-01-08 75 views
-2

我有以下unicode:s = u'\\u5b50'。 我想将s转换为m = u'\u5b50'。 我该怎么做?Python unicode转换

s = u'\\u5b50' 
m = u'\u5b50' 
print len(s) # 6 
print len(m) # 1 
print s # \u5b50 
print m # 子 
+0

你有* JSON数据*吧?更广泛的背景是什么? –

+0

是的,我从JSON文件的字段中获取此信息。 – Transcendental

+0

然后只解码为JSON。你能向我们展示更多的数据和你如何解码? –

回答

0

这工作:

print s.decode('unicode-escape') # 子 
print len(s.decode('unicode-escape')) # 1 
+0

是的,直到你击中一个UTF-16代理对,比如''\ uD83D \ uDC33'。这取决于你是否使用Python的广泛的UCS4构建;你*可以*得到'u'\ ud83d \ udc33'或'u'\ U0001f433'。第一个是不正确的。 –