有人可以帮助我将这些数据导入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
仍然需要让第一个正确。
答案 0 :(得分:1)
我猜主要问题是i
和s
在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中的填充。如果它不适用于真实的数据文件,可以尝试@
。