我需要某人的帮助。我有一个二进制协议,我想解析它(字节数组)。一切都很好,但是有时数据类型之间会有多余的字节。而且我必须跳过这些字节才能正确解析。谁能解释这些多余字节的原因?
我有这样的字节数组:
file.createDir(file.externalRootDirectory, 'silapathigaram', true).then((val) => {
console.log("Created");
}).catch(e => {
console.log("error is ",e);
});
我先解析4个字节(它的3-整数),然后跳过4个字节(它是什么????),然后解析接下来的8个字节(其10000.0-整数)。因此,出于什么原因,我需要跳过这4个字节以进行正确的解析?
答案 0 :(得分:0)
我会说这是对齐的填充。我的猜测是该协议假定初始缓冲区对齐为8个字节。第一个整数消耗前4个字节,然后它需要跳过其他4个字节,以允许8个字节与您的浮点数对齐(8个字节,我想是两倍)。