我有一个二进制文件,其中有一些以二进制形式存储的参数,例如:x,y,z,u,p1,p2......最多 12 个参数。
我使用“Ghex”来显示它,Ghex 显示了一些十六进制值,但我无法理解文件的格式(这些参数是如何保存的)。
有什么方法(程序,...)可以了解这些参数是如何保存的?
答案1
读取man od
.od
可让您指定任何您喜欢的格式。例如,如果您的文件是 4 字节整数,则可以使用od --format=dI
.
这取决于什么类型变量的“最多 12 个参数”是多少,它们在文件中占用了多少空间(多少字节),以及数据的“字节顺序”(4 字节整数在文件中存储为 4321 还是 1234?)。
如果文件对于来说太复杂od
,您可以查看 Perl 的unpack
函数、perldoc -f unpack
或 Pythonstruct
模块。
了解格式的真正方法是查看创建该文件的程序,或文档,或......,追踪程序员并询问。
感谢@steeldriver