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

Python网页数据提取中特殊字符与URL编码字符解码问题

解决方法

一、字节数据转目标字符串

你的字节数据 b'Set temp to 0 \xf8C in 10 s' 中,\xf8 用Latin-1解码后得到字符 ø,要转换成目标里的 °C,需要先解码再替换:

byte_info = b'Set temp to 0 \xf8C in 10 s'
# 先用Latin-1解码字节为字符串
temp_str = byte_info.decode('latin-1')
# 将ø替换为°得到目标字符串
string = temp_str.replace('ø', '°')
print(string)  # 输出: Set temp to 0 °C in 10 s

你之前的尝试无效,核心原因是没做这步替换——\xf8 本身解码后不是 °,而是 ø,必须手动替换才能得到目标格式。如果原始字节数据里的 \xf8 是编码错误导致的(正常 ° 的Latin-1编码是 \xb0),那直接解码 b'Set temp to 0 \xb0C in 10 s' 就能得到目标字符串。

二、URL编码字符解码

别用手动循环替换的方式,Python标准库的 urllib.parse.unquote 可以完美处理所有标准URL编码字符,包括你列出的这些:

from urllib.parse import unquote

# 示例:处理包含URL编码的字符串
encoded_str = "Price%24%3A%2099%5E%7E"
decoded_str = unquote(encoded_str)
print(decoded_str)  # 输出: Price$: 99^~

这个方法比手动写字典替换更可靠,能自动处理所有符合RFC标准的URL编码,不会出现漏替换或替换错误的情况。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 06:53:32