我試圖解釋一個二進制字符串作爲一個無符號的大端整數,作爲她的指示進行:http://mimesniff.spec.whatwg.org/#matches-the-signature-for-mp4(4點)PHP解釋一個4字節的二進制字符串作爲一個無符號的大端整數
我不是很知道我需要在這裏做,但這裏是我的嘗試:
// ONE
$box_size = substr($sequence, 0, 4);
$box_size = pack('C*', $box_size[0], $box_size[1], $box_size[2], $box_size[3]);
$box_size = unpack('N*', $box_size);
// TWO
$box_size = substr($sequence, 0, 4);
$box_size = array_map('ord', str_split($box_size));
// THREE
$box_size = substr($sequence, 0, 4);
$box_size = bindec($box_size);
// FOUR
$box_size = substr($sequence, 0, 4);
$box_size = (int) $box_size;
我有沒有運氣,老老實實我不知道是什麼結果,甚至應該是..有誰明白這一點?我想我可能會在打包和解壓時走在正確的軌道上。
僅有'解包( 'N' ,$ string)'應該做得很好。 – deceze
哇......這很簡單。 pack和unpack之間的區別讓我感到困惑。但是這似乎有效。感謝欺騙! – Shane