【问题标题】:Python: Cyrillic handlingPython:西里尔文处理
【发布时间】:2014-07-16 18:17:20
【问题描述】:

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

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

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

编辑:是的,这是 JSON 数据。忘了说,抱歉。

【问题讨论】:

  • 您很可能拥有 JSON 数据。
  • 哦对了,忘了说是 JSON 数据。

标签: python json string unicode cyrillic


【解决方案1】:

您可能有 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'))
'Кейтлинпро'

【讨论】:

  • 啊太棒了。我明白。想着有一种独特的方式来处理非 ascii 字符,我吓坏了。
猜你喜欢
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
  • 2012-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多