gpt4 book ai didi

c - BLOB,它是如何工作的

转载 作者:太空宇宙 更新时间:2023-11-04 08:06:10 25 4
gpt4 key购买 nike

我是编程新手,我有一个预制代码,其中部分计算基于从 BLOB 文件中提取一些信息我想我已经找到了代码中正在读取信息的地方,但我不明白:

unsigned short decode_le16(byte *buf) {
return buf[0] | (buf[1] << 8);
}


unsigned int decode_le32(byte *buf) {
return buf[0] | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24);
}

BLOB 包含字符和数字,但如何读取这些信息?在事先不知道布局的情况下,我如何才能看到 BLOB 的结构?

最佳答案

decode_le16

“乐”代表little endian . 16 是以位为单位的大小。此代码采用两个(8 位)字节,并使用移位和按位或运算将它们组合成一个 16 位整数,这是一种解码与字节顺序无关的二进制格式的相当标准的方法。

how is this information read

问题中未显示的某些代码必须使用文件 I/O 从文件中检索字节数组。然后将此数组逐个馈送到 decode_le16 等函数。然后一些其他代码将这些整数、字符和诸如此类的东西组装成更高级别的数据结构。

And how can I see the structure of the BLOB without prior knowledge of the layout?

你不能,BLOB 不是按定义结构化的,它们只是位/字节的数组。如果您必须知道并且没有在某处记录格式,则必须通过跟踪上述应用程序代码对其进行逆向工程。

关于c - BLOB,它是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42781342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com