Delphi中的Python struct.unpack

时间:2013-05-18 15:48:27

标签: python delphi binary

如何在delphi中使用名为struct.unpack的内置python函数,就像python一样。 这是一个例子:

x = struct.unpack(">H",data[offset:offset+2])[0]

1 个答案:

答案 0 :(得分:0)

>H是一个大端无符号双字节值。

在Delphi中你会这样做:

var
  x: Word;
  data: TBytes;
....
x := ntohs(PWord(@data[offset])^);

让我们更详细地看一下:

  • data是一个字节数组,因此data[offset]是您要解压缩的值。
  • ntohs从网络字节顺序(大端)转换为主机字节顺序。
  • 由于ntohs的参数是Word,我们需要将data[offset]视为单词,因此需要将其视为演员。

要致电ntohs,您需要使用Winsock单元。