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

文件读取字符间隔异常与UTF-8编码解码错误求助

字符间隔异常原因及解决办法

原因分析

字符间出现多余空格是因为编码解析不匹配:

  • 你的文件实际采用UTF-16编码,开头的0xff字节是UTF-16的BOM(字节顺序标记),这也是用utf-8解码时报错的核心原因——utf-8不识别该BOM结构。
  • 你用cp932(日文Shift-JIS编码)读取UTF-16文件时,会把UTF-16中每个字符的两个字节拆成独立的cp932字符解析。比如原文件中1的UTF-16编码是0x31 0x00,cp932将0x31解析为1,0x00解析为空字符,打印时空字符显示为空格,最终形成字符间的间隔。

解决步骤

  1. 使用正确的编码utf-16打开文件,Python会自动识别并处理BOM:
import os

with open(os.path.join(root, file), "r", encoding='utf-16') as content_file:
    content = content_file.read()
    print(content)
  1. 修正代码中的小错误:你之前打印的是文件对象content_file,而非读取到的内容变量(还拼错了变量名continut,建议改为content),修正后才能正确输出文件内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 09:55:08