为什么struct.pack给出不同的结果?

时间:2019-08-04 12:45:14

标签: python pack

struct.pack似乎在给定单独的格式(在我的情况下,创建7个不同的缓冲区)与单独的格式(同样,对7个不同的值的映射)时表现不同。发生了什么事?

结果:

  

-单个格式-
  LID:i 4 b'\ x00 \ x00 \ x00 \ x00'
  OPN :? 1 b'\ x00'
  OID:i 4 b'\ x00 \ x00 \ x00 \ x00'
  PUA:d 8 b'\ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00'
  ISP: 1 b'\ x00'
  BEP:i 4 b'\ x00 \ x00 \ x00 \ x00'
  DST:i 4 b'\ x00 \ x00 \ x00 \ x00'
  长度[26]

     

-组合整个格式-
  格式:i?id?ii长度[36]

     

缓冲区:b'\ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00'

更新
我将格式更改为小尾数开头为'<'。这似乎已经纠正了对齐方式(对无),然后导致整个格式具有预期的26个元素长度。

0 个答案:

没有答案