Python如何读取.bin文件?读取时输出异常内容是什么原因?
问题原因说明
- 你使用
rb(二进制只读)模式打开文件,read()方法返回的是bytes字节类型对象,Python打印该类型对象时默认会用b''包裹内容:可正常显示的ASCII字符会直接输出,不可打印的控制字符、非ASCII字符会以\x加两位十六进制编码的格式展示,这是Python的正常输出逻辑,不属于运行错误。 - 输出内容开头的
PK\x03\x04是ZIP格式压缩文件的固定魔数标识,说明该.bin后缀的文件本质是被修改了后缀的ZIP压缩包,文件本身存储的是压缩结构数据,混合了控制位、校验值、文件名、压缩二进制内容等多种非明文数据,自然不会输出常规可读的文本内容。 - 你设置了每次只读8字节的读取逻辑,会把原本连续的语义内容(比如压缩包内的文件名
1442.041)截断拆分到不同打印行,进一步加剧了内容的碎片化,看起来更像“异常输出”。
如果需要读取文件内的实际明文内容,可以先将文件后缀修改为.zip尝试解压后,再读取解压后的目标文件即可。
内容的提问来源于stack exchange,提问作者أبو فهد Morphine pill
相关产品推荐
相关产品推荐

