You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将HTML实体字节串解码为西里尔文?

问题:解码西里尔文字符串的问题

我有如下字节串,它应当解码为西里尔文字符“Сравнение”:

a = b'Сравнение'

使用UTF-8解码无法得到预期结果:

a = b'Сравнение'
a.decode("utf-8") # 输出仍为Ср...形式的字符串

请问这是什么编码?该如何解码这段字符串?我使用的是Google Colab环境,Python版本为3.10.12。某在线解码器自动解码后提示需从UTF-8转UTF-8。

解答

这不是特殊编码,而是HTML实体编码。你看到的&#数字;格式是HTML中用来表示Unicode字符的实体形式,每个数字对应字符的Unicode码点。

解决步骤:

  • 先用UTF-8解码字节串,得到包含HTML实体的字符串
  • 使用Python内置的html模块解析这些实体,转换为对应的西里尔字符

具体代码示例:

import html

a = b'Сравнение'
# 解码字节串为UTF-8字符串
str_with_entities = a.decode("utf-8")
# 解析HTML实体得到目标字符
target_str = html.unescape(str_with_entities)
print(target_str)  # 输出:Сравнение

在线解码器提示的“从UTF-8转UTF-8”,本质是先完成字节串到UTF-8字符串的解码,再自动解析字符串中的HTML实体,和上述两步操作一致。

内容的提问来源于stack exchange,提问作者ans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 11:35:07