我玩pack()
的时间比我想承认的要长,并且不小心偶然发现了data structure alignment。是否有一种“好”的方法可以从 PHP 中创建 C 结构并考虑这些额外的填充字节?
我知道您可以使用“x”来注入 NULL 字节,但是您如何确定它们的去向以及以编程方式使用多少?
同样,这些方法中哪一种更适合对char foo[10]
数组建模?
$struct = pack('a9x', $string);
// vs.
$struct = pack('a10', substr($string, 0, 9));
我相信他们都完成了同样的事情,但我不确定任何潜在的陷阱。