Python将数据打包到PHP包数据

时间:2011-03-22 17:02:14

标签: php python struct pack

有人可以帮助我将这些数据导入PHP等价物:>4siiiiiiiiiiiii8x它在Python的struct.pack()中使用。 这是我到目前为止所得到的:N14si13x8
它本应该返回:('P3TF', 272, 64, 6832, 6896, 1426, 8336, 312, 8656, 0, 8656, 0, 8656, 2924384)

PHP版本结果:

array
  'si13x81' => int 1345541190
  'si13x82' => int 272
  'si13x83' => int 64
  'si13x84' => int 6832
  'si13x85' => int 6896
  'si13x86' => int 1426
  'si13x87' => int 8336
  'si13x88' => int 312
  'si13x89' => int 8656
  'si13x810' => int 0
  'si13x811' => int 8656
  'si13x812' => int 0
  'si13x813' => int 8656
  'si13x814' => int 2924384

仍然需要让第一个正确。

1 个答案:

答案 0 :(得分:1)

我猜主要问题是is在PHP中有不同的含义。要在PHP中重新创建原始列表,这似乎有效:

print_r(unpack("a4header/N13int/x8fill", $p));

给我:

Array(
    [header] => P3TF
    [int1] => 272
    [int2] => 64
    [int3] => 6832
    [int4] => 6896
    [int5] => 1426
    [int6] => 8336
    [int7] => 312
    [int8] => 8656
    [int9] => 0
    [int10] => 8656
    [int11] => 0
    [int12] => 8656
    [int13] => 2924384

我对x8不太确定。这不是用于PHP中的填充。如果它不适用于真实的数据文件,可以尝试@