1

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

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

1 回答 1

0

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

在德尔福你会这样做:

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

让我们更详细地看一下:

  • data是一个字节数组,data[offset]您尝试解压缩的值也是如此。
  • ntohs从网络字节顺序(大端)转换为主机字节顺序。
  • 由于参数 ofntohs是 a Word,我们需要将data[offset]其视为一个单词并因此进行强制转换。

为了打电话ntohs,您需要使用该Winsock设备。

于 2013-05-18T16:32:05.933 回答