python结构,不需要的额外字节

2024-03-29 09:48:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python编写位图文件。我创建位图头的代码是:

pack('bblll', 66, 77, fileLength, 0, 122)

除非我的数学是错误的,(这不是)这应该创建一个14字节长的字节串。在

b=字符(1字节) l=长(4字节)

1+1+4+4+4=14

但是,问题是,我收到了2个额外的字节;假设我的文件长度是142,我会收到以下内容(十六进制):

^{pr2}$

额外的2位在偏移量0x2和0x3处为空。他们从哪里来的?我怎样才能摆脱他们?它正在腐蚀我的形象。在


Tags: 文件代码字节错误数学字符pack偏移量
1条回答
网友
1楼 · 发布于 2024-03-29 09:48:59

它填充到四个字节(字)的边界,这样long从自然偏移量开始(即偏移量是4的倍数),使用=前缀(或任何其他可能的字节顺序前缀)来防止这种情况。在

More info on this documentation page.

相关问题 更多 >