Birisi bana PHP paketi () işlevi, açıklayabilir misiniz?

2 Cevap php

Ben PHP paketi () işlevi hakkında daha fazla bilgi edinmek istiyorum: http://fi.php.net/manual/en/function.pack.php

Ben ikili veri paketleri biliyorum, ama ben bu v V n N c C bütün ne demek emin değilim ve kimse tür ve bana hangi formatları kullanmak için pratik bir gösteri verebilir merak ediyordum?

Çevrimiçi belgelere, değişim için, benim görüşüme göre, bilgi yoksun.

2 Cevap

Bunlar size ikili biçimde temsil edilmesi için ambalaj verileri nasıl temsil:

bu yüzden

$bin = pack("v", 1); => 0000000000000001 (16bit)

nerede

$bin = pack("V", 1) => 00000000000000000000000000000001 (32 bit)

It tells pack how you want the data represented in the binary data. The code below will demonstrate this. Note that you can unpack with a different format from what you packed the data as.

<?php

$bin = pack("S", 65535);
$ray = unpack("S", $bin);
echo "UNSIGNED SHORT VAL = ", $ray[1], "\n";

$bin = pack("S", 65536);
$ray = unpack("S", $bin);
echo "OVERFLOW USHORT VAL = ", $ray[1], "\n";

$bin = pack("V", 65536);
$ray = unpack("V", $bin);
echo "SAME AS ABOVE BUT WITH ULONG VAL = ", $ray[1], "\n";
?>

Paketi için php belgelerinde belirtildiği gibi, işlev Perl paketi fonksiyonu ödünç.

, Sayfanın en altındaki spesifik örnekler bölümüne Perl's documentation for pack bir göz atın. PHP'nin paketi tüm biçimlerini uygulamak değil, işlevi için Perl ait belgelere örnekler veren ve her biçimini açıklayan iyi bir iş yapar.