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

Python如何将包含Unicode码点的字符串转换回正常字符

Unicode转义序列还原为原始中文字符的解决方案

根因说明

该情况本质是写入或读取环节编码不匹配,或是原始响应内容本身包含Unicode转义序列,导致中文字符被转为\u开头的码点序列存储。以下是两种可行解决路径:

方案1:直接处理现有带转义的字符串

对读取到的转义字符串,先用utf-8编码,再用unicode_escape解码即可还原原始字符,示例代码如下:

with open("file.txt", "r") as filename:
    mystring = filename.readline()
    # 解码Unicode转义序列
    original_str = mystring.encode('utf-8').decode('unicode_escape')
    print(original_str)

运行后输出结果为:送分200000

方案2:从写入环节规避转义问题

要从根源避免该问题,可在请求和写入文件时明确指定编码,步骤如下:

  1. 请求后先自动识别响应的正确编码,避免requests默认编码识别错误
  2. 读写文件时明确指定utf-8编码,避免系统默认编码导致的转义

写入代码示例

import requests
url = "你的目标请求地址"
r = requests.get(url)
# 自动匹配正确的响应编码
r.encoding = r.apparent_encoding
# 写入时指定utf-8编码
with open("file.txt","w", encoding="utf-8") as filename:
    filename.write(r.text)

读取代码示例

with open("file.txt", "r", encoding="utf-8") as filename:
    mystring = filename.readline()
    print(mystring)

该方案写入的文件不会产生额外的Unicode转义,读取后可直接得到原始中文字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:06:03