Python: 处理西里尔字母
我从一个API得到了这个数据 b'\\u041a\\u0435\\u0439\\u0442\\u043b\\u0438\\u043d\\u043f\\u0440\\u043e
。这个数据是俄语的,我很确定。我的猜测是这些值是西里尔字母的unicode表示?
返回的数据是一个字节数组。
我该如何把它转换成可读的西里尔字母字符串呢?基本上,我需要一种方法把这种数据转换成人类能理解的文本。
编辑:是的,这个数据是JSON格式的。忘了提了,抱歉。
1 个回答
5
你可能有一些JSON数据。JSON使用\uhhhh
这样的转义序列来表示Unicode字符。你可以用json.loads()
函数来处理这些unicode(已经解码的)数据,从而生成一个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'))
'Кейтлинпро'