对于具有数据的二进制数据文件,在 struct unpack 命令中选择啥格式:b'@T\x89\x00\x00\x00\x00\x80$\xcds?

Posted

技术标签:

【中文标题】对于具有数据的二进制数据文件,在 struct unpack 命令中选择啥格式:b\'@T\\x89\\x00\\x00\\x00\\x00\\x80$\\xcds?【英文标题】:What format to choose in struct unpack commannd for binary data file having data : b'@T\x89\x00\x00\x00\x00\x80$\xcds?'对于具有数据的二进制数据文件,在 struct unpack 命令中选择什么格式:b'@T\x89\x00\x00\x00\x00\x80$\xcds? 【发布时间】:2021-05-06 14:32:25 【问题描述】:

您好,我正在尝试使用 struct unpack 解码一些数据,但无法选择格式,因为数据类似于 b'@T\x89\x00\x00\x00\x00\x80$\xcds?'。谁能帮忙?我尝试了不同的 dtype,但都没有正确解码。

from struct import *

file=open(ch8.bin,'rb')

a=[]
while byte:
enter code here
byte = file.read(8)
values = unpack('f', byte)
a.append(values)

file.close()

【问题讨论】:

【参考方案1】:

我只是解决了这个问题,因为我的数据文件有初始数据作为转换器,这对我来说是垃圾,所以我读取了这个垃圾数据,在下一个变量中我读取了对我使用至关重要的数据, 垃圾 = np.fromfile(file, dtype = "float32", count = 1) 数据 =np.fromfile(文件,dtype = 'float64',sep = "",offset = 0) 谢谢。

【讨论】:

以上是关于对于具有数据的二进制数据文件,在 struct unpack 命令中选择啥格式:b'@T\x89\x00\x00\x00\x00\x80$\xcds?的主要内容,如果未能解决你的问题,请参考以下文章

使用 struct.unpack_from() 解包混合二进制数据

Python之struct

Python2.7-struct模块

使用“struct.pack”将数据写入文件时出错

数据结构编程中的struct能完全用class代替吗?

Python标准库笔记 — struct模块