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

Python项目求助:将含特殊字符的字符串转ASCII后无损转回Unicode

解决方案:使用unicode-escape实现无损ASCII转换

编码(Unicode → 纯ASCII字符串)

利用Python的unicode-escape编码格式,可将所有非ASCII字符转换为\uXXXX格式的ASCII转义序列,最终得到纯ASCII字符串:

original = "café àèìòù 你好"
# 先编码为unicode-escape字节流,再解码为ASCII字符串
ascii_encoded = original.encode('unicode-escape').decode('ascii')
print(ascii_encoded)
# 输出: caf\u00e9 \u00e0\u00e8\u00ec\u00f2\u00f9 \u4f60\u597d

解码(纯ASCII字符串 → Unicode)

反向操作即可精准恢复原字符串:

# 先将ASCII字符串编码为字节流,再用unicode-escape解码回Unicode
restored = ascii_encoded.encode('ascii').decode('unicode-escape')
print(restored)
# 输出: café àèìòù 你好

为什么这个方案可行?

  • unicode-escape会将所有非ASCII字符转换为标准的ASCII转义序列,完全符合纯ASCII字符串要求
  • 转义规则可逆,解码过程能1:1还原原字符,无信息损失
  • 无需依赖JSON或字节格式,直接操作字符串即可

和ascii()函数的区别

Python内置的ascii()函数会返回带引号的repr风格字符串(比如ascii("café")返回"'caf\\u00e9'"),而本方案得到的是不带额外引号的纯转义内容,更适合直接业务使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:44:58