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

Python读取.dat文件出现乱码,是否导致文件损坏?

问题分析与解决
  • 文件没损坏:你只是读取方式错误,原文件没有被修改或损坏。
  • 核心问题:存储3D坐标的.dat文件几乎都是二进制格式,但你用文本编码(ISO-8859-1)去读取,把二进制字节强行解码成文本字符,才会出现那些乱码(\xad、奇怪字母都是字节被错误解析的结果)。
  • 正确处理方式:
    • 如果是纯文本格式的.dat(每行是x/y/z数值):先修正代码里的拼写错误(readLines()改成readlines()),再尝试换成utf-8编码读取;
    • 如果是二进制格式的.dat:用二进制模式打开,再根据文件具体格式解析,比如用struct模块处理:
      path = '/path/to/dat-file.dat'
      import struct
      
      coords = []
      with open(path, 'rb') as f:
          # 示例:假设每个坐标是3个float类型,每个占4字节
          while chunk := f.read(12):
              x, y, z = struct.unpack('fff', chunk)
              coords.append((x, y, z))
      print(coords)
      
  • 关键提醒:先搞清楚你的.dat文件具体格式(比如是自定义二进制、PLY二进制版还是其他),不同格式的解析逻辑不一样,得对应处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:18:36