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

VSCode中调用read()读取含£的txt文件出现多余Â字符问题咨询

问题根因

该异常是典型的文件读取编码与文件实际存储编码不匹配导致的,和VSCode编辑器本身无直接关联:

  • 包含£符号的.txt文件实际以UTF-8编码存储时,英镑符号£会被编码为2个连续字节:0xC2 0xA3
  • 调用read()读取文件时如果没有显式指定编码,程序会fallback到运行环境的默认单字节编码(常见为ISO-8859-1/Windows-1252)解析字节流,双字节的£会被拆分为两个独立单字节字符映射:第一个字节0xC2对应字符Â,第二个字节0xA3对应字符£,最终就会出现「£能正常显示但凭空多出Â字符」的现象。
解决方法
  • 读取文件时显式指定编码为UTF-8
    调用文件读取方法时不要省略encoding参数,避免受系统默认编码的干扰,示例代码:
    with open("你的文件路径.txt", "r", encoding="utf-8") as f:
        file_content = f.read()
    
    该写法跨Windows/macOS/Linux平台兼容,是处理文本文件读取的推荐写法。
  • 统一VSCode端的文件保存编码
    查看VSCode窗口右下角状态栏的编码标识,确认当前txt文件的保存编码为UTF-8;如果不是,点击编码标识后选择「通过编码重新保存」,选中UTF-8即可,从存储侧避免编码错配问题。
  • 异常排查校验:如果调整编码后仍有问题,可以用二进制模式读取文件,打印£符号对应的字节段,如果返回b'\xc2\xa3'即可确认是上述编码错配问题,不存在文件内容被篡改的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 14:57:18