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

Python3如何将包含转义emoji Unicode的字符串转换为显示正确emoji的字符串

问题修复方案

你遇到的是典型的编码映射错误:原始UTF-8编码的字节流被错误使用*Latin-1(ISO-8859-1)*单字节编码解码为字符串,才会出现💖类乱码,以及转义后可见\xf0\x9f\x92\x96这类UTF-8字节特征的内容。

核心实现代码

Python3中仅需两步即可完成修复:

  1. 将乱码字符串用latin-1编码转回原始字节流
  2. 用utf-8重新解码字节流,得到正确字符串
def fix_encoding_error(broken_text: str) -> str:
    # 还原原始字节流
    raw_bytes = broken_text.encode('latin-1')
    # 用utf-8正确解码,errors参数可选,用于处理异常编码内容
    return raw_bytes.decode('utf-8', errors='replace')

测试验证

测试样例1:单emoji场景

输入:'i love you 💖'
调用代码:

test1 = 'i love you 💖'
print(fix_encoding_error(test1))

输出结果:i love you 💖

测试样例2:多emoji场景

输入:'i love you \xf0\x9f\x92\x96\xf0\x9f\x92\x96'
调用代码输出:i love you 💖💖

测试样例3:长文本乱码场景

你提供的带乱码的推文内容,调用上述方法后会自动还原所有emoji,无乱码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:18:02