【问题标题】:Python: converting byte file to a readable ascii filePython:将字节文件转换为可读的 ascii 文件
【发布时间】:2021-02-27 03:40:00
【问题描述】:

我正在尝试解码一个二进制文件,以便更好地了解它是如何创建的。我正在尝试使用open(file, 'rb') 读取它,然后将转换后的文本写入.txt 文件。我似乎找不到以我能理解的格式写出文本的方法。所有二进制转换的方式都一样吗?

import os

def read(inputFile, outputFile):
    
    if os.path.exists(outputFile):
        os.remove(outputFile) 
    o = open(outputFile, "a")

    with open(inputFile, "rb") as i:
        while (byte := i.read(1)):
            #mapped = map(ord, byte)
            o.write(str(byte))

read('triangle.shp', 'test.txt')

这是我要转换的triangle.shp 文件。我认为它是使用 C 创建的

输出文件如下所示

b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\xe0'b'\xff'b'\xff'b'\xdf'b'?'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'h'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'@'b'x'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'n'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'n'b'@'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x02'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'b'\x00'

这就是我被告知的文件

如果你对这些东西没问题,它是一种基本的文件格式,它是 值范围和混合数据类型有点混乱,但有点混乱 简单(无标题等)。

typedef struct Shape_Saving_type
    {
        double val_curve[64];
        double val_EnvX[64];
        double val_EnvY[64];
        double reserved[64];
        char CurrentNumPoints;
        unsigned char Shapeversion;  //well, good for 255 versions ;)
        char padding[6]; //padding[0] set to 1 indicates LFOTOol 1.5 (vector) sizes
              
    }Chunk_Shape_Saving;

您应该填写这些值:

val_curve[] = 0 到 1

val_EnvX[] = 0 到 388.0 范围

val_EnvY[] = 0 到 240.0 范围

reserved[] 填充 0.0

CurrentNumPoints 不言自明

变形 = 1;

padding[] 用 0.0 填充

【问题讨论】:

  • 对于看起来完全合理的二进制文件。它似乎不是用一些奇怪的编码创建的文本文件。您需要获取有关文件创建方式的更多信息。
  • 如果文件纯粹是一个编码为二进制的字符串,这可能会有所帮助:stackoverflow.com/questions/40557335/…。但正如马克所说,您需要更多信息。
  • 所有文件都是二进制文件,即使它们的名字以.txt结尾。
  • @MarkRansom 我添加了到目前为止我对文件的所有了解
  • @Keivan 我添加了到目前为止我对文件的所有了解

标签: python binary


【解决方案1】:

您应该使用struct module 来处理转换二进制信息。例如读取val_curve 值:

import struct
bin = input_file.read(64*8)  # doubles are each 8 bytes
val_curve = struct.unpack('64d', bin)

【讨论】:

  • 我不是要查看单个值,而是要查看整个文件,以便我有一个示例说明如何自己创建这些文件之一,我正在开始考虑可能涉及使用该模块创建一个结构,然后将该结构转换为二进制
  • @Sam 你的问题肯定是说你正在尝试读取文件并写出它的文本版本。完成后,逆向编写二进制文件的过程应该相对容易。
  • 我的意思是你似乎只读取了一个变量,而我想完全按照其结构方式读取整个文件
  • @Sam 我的回答没有给你足够的信息让你自己弄清楚吗?
猜你喜欢
  • 2012-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-28
  • 1970-01-01
  • 1970-01-01
  • 2013-05-10
相关资源
最近更新 更多