Python: 处理西里尔字母

4 投票
1 回答
4315 浏览
提问于 2025-04-18 07:44

我从一个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'))
'Кейтлинпро'

撰写回答