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

Python中UTF-8编码Unicode字符192结果异常,求助排查原因

问题解析

你遇到的问题核心是对UTF-8编码规则的误解,以及混淆了UTF-8和ISO-8859-1(Latin-1)两种编码的差异:

  • chr(192)生成的是Unicode码点U+00C0的字符(即À),这个码点落在U+0080到U+07FF区间内。
  • UTF-8编码对不同区间的Unicode字符有明确的长度规定:
    • U+0000到U+007F的字符用1字节编码
    • U+0080到U+07FF的字符用2字节编码
      所以U+00C0按照UTF-8编码后会得到b'\xc3\x80',这是完全符合标准的正确输出。
  • 你预期的b'\xc0'是ISO-8859-1(Latin-1)编码的结果——Latin-1直接用单字节对应U+0000到U+00FF的Unicode字符,U+00C0自然对应单字节0xC0。如果要得到这个结果,需要显式指定编码:
    print(chr(192).encode('latin-1'))
    
    运行这段代码就会输出你预期的b'\xc0'。

本质上是你默认使用了Python的UTF-8编码(encode()方法默认编码为UTF-8),但预期的是Latin-1编码的结果,这就是两者输出不同的原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 14:34:53