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