我对 python 很陌生,刚刚开始在某个地方工作。一直试图理解一个开发人员在这里编写的一段代码,他离开了,我一直无法弄清楚。
基本上,我熟悉 unpack() 的作用,但在某些地方使用的格式让我感到困惑!
var1, var2, var3, var4 = struct.unpack('!6xBB4xI4xI', data)
是 4 个变量的赋值语句。现在,这就是我对用于解包的格式的了解,我相信是正确的:-
'x':值的分离(@shx2 在下面的答案中指出的填充位)
!6: 以 BIG-ENDIAN 格式从开头读取第 7 个字符(从索引 0 开始)
I:无符号整数
Now, I haven't been able to figure out the formats:-
BB4 - does that mean read 8 bytes (as the B stands for unsigned char, so BB could mean 2 sets of unsigned char)?
I4 - reading 4 bytes and getting the integer value!
我对其他 2 种格式的解释也很可能是不正确的——我只是想从 python 在线文档和调试期间看到的数据中找出答案。请在我可能错的地方纠正我。