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

如何用Python将网页中的Unicode序列转换为中文字符?

解决HTML Unicode实体转义问题(Python)

要将新北市这类HTML十六进制Unicode实体转换成可正常显示的中文,以下是两种可靠方法:

方法一:使用内置html模块(推荐)

Python 3.2及以上版本自带html模块,其unescape方法可直接处理所有HTML实体,无需手动拆分:

import html
raw_str = '新北市'
mystring = html.unescape(raw_str)
print(mystring)  # 输出:新北市

方法二:手动解析转换

如果不想依赖模块,可拆分字符串提取十六进制码,再通过chr()函数转换:

raw_str = '新北市'
# 拆分并过滤空字符串
parts = [p for p in raw_str.split(';') if p]
# 提取十六进制部分,转成整数后转成Unicode字符
mystring = ''.join([chr(int(p[3:], 16)) for p in parts])
print(mystring)  # 输出:新北市

为什么之前的方法无效?

  • 直接用'\u'替换会触发语法错误:Python在编译字符串时,要求\u后必须紧跟4个十六进制字符,动态替换的'\u'在编译阶段是不完整的转义序列,因此报错。
  • 用'\\u'替换得到的是字面量的\u字符,而非Unicode转义序列,所以打印结果是\u65B0\u5317\u5E02,无法解析为中文。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 09:05:01