如何在delphi中使用名为struct.unpack
的内置python函数,就像python一样。
这是一个例子:
x = struct.unpack(">H",data[offset:offset+2])[0]
答案 0 :(得分:0)
>H
是一个大端无符号双字节值。
在Delphi中你会这样做:
var
x: Word;
data: TBytes;
....
x := ntohs(PWord(@data[offset])^);
让我们更详细地看一下:
data
是一个字节数组,因此data[offset]
是您要解压缩的值。ntohs
从网络字节顺序(大端)转换为主机字节顺序。ntohs
的参数是Word
,我们需要将data[offset]
视为单词,因此需要将其视为演员。要致电ntohs
,您需要使用Winsock
单元。