2017-01-08 11 views
-2

У меня есть следующий unicode: s = u'\\u5b50'. Я хочу преобразовать s в m = u'\u5b50'. Как это сделать?Преобразование юникода Python

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''. Тогда это зависит от того, насколько вы используете широкую UCS4-сборку Python; вы * можете * получить 'u '\ ud83d \ udc33'' или' u' \ U0001f433''. Первое неверно. –