Python:西里尔语处理

时间:2014-05-27 18:07:58

标签: python json string unicode cyrillic

我从API返回了b'\\u041a\\u0435\\u0439\\u0442\\u043b\\u0438\\u043d\\u043f\\u0440\\u043e这个数据。这个数据是俄语,我肯定知道。我猜这些值是西里尔字母的unicode表示?

返回的数据是一个字节数组。

如何将其转换为可读的西里尔字符串?我几乎需要一种方法将这种转换成可读的人类文本。

编辑:是的,这是JSON数据。忘了提,对不起。

1 个答案:

答案 0 :(得分:4)

你有机会获得JSON数据; JSON使用\uhhhh转义序列来表示Unicode代码点。使用 unicode (已解码)数据上的json.loads() function生成Python字符串:

import json

string = json.loads(data.decode('utf8'))

UTF-8是默认的JSON编码;检查您的响应标头(如果您使用的是基于HTTP的API),以查看是否使用了不同的编码。

演示:

>>> import json
>>> json.loads(b'"\\u041a\\u0435\\u0439\\u0442\\u043b\\u0438\\u043d\\u043f\\u0440\\u043e"'.decode('utf8'))
'Кейтлинпро'