Çeşitli İşlevler
PHP Manual

pack

(PHP 4, PHP 5, PHP 7)

packVeriyi bir ikil dizge halinde paketler

Açıklama

string pack ( string $biçem [, mixed $değiştirgeler [, mixed $... ]] )

Belirtilen değiştirgeleri belirtilen biçem biçeminde bir ikil bir dizge olarak paketler.

Anafikir Perl'den alınmış olup, tüm biçemleme kodları Perl'deki gibi çalışır. Ancak, biçemleme türleri aynı değildir, örneğin "u" biçemi Perl'de yoktur.

Şuna dikkat edin: İşaretli ve işaretsiz değerler arasındaki ayrım sadece unpack() işlevini etkiler. pack() işlevi her ikisi için de aynı sonuçları üretir.

Ayrıca, şuna da dikkat edin: PHP, işaretli değerleri makineye bağımlı tamsayı değerler olarak saklar. Eğer float türünde tam hassasiyetle saklanamayacak kadar büyük bir işaretsiz tamsayı verirseniz istenmeyen sonuçlar alabilirsiniz.

Değiştirgeler

biçem

biçem dzgesi isteğe bağlı bir yineleme değiştirgesi ile öncelenmiş biçem kodlarından oluşur. Yineleme değiştirgesi bir tamsayı değer veya girdi verisinin sonuna kadar yineleme belirten bir * olabilir. a, A, h, H için yineleme sayısı, bir veri değiştirgesinden kaç karakter alındığını belirtir. @ için yineleme sayısı ise, sonraki verinin konacağı mutlak konumu belirtir. Bunlar dışında kalan herşey için yineleme sayısı, sonuçlanan ikil dizgede paketlenmek üzere kaç tane veri argümanın toplanacağını belirtir.

Şimdilik gerçeklenmiş biçemler:

pack() biçem karakterleri
Kod Açıklama
a NUL-dolgulu dizge
A BOŞLUK dolgulu dizge
h Onaltılık dizge, küçük dörtlü önce gelir
H Onaltılık dizge, büyük dörtlü önce gelir
c işaretli bayt
C işaretsiz bayt
s İşaretli kısa tamsayı (daima 16 bit olup, makine bayt sıralamasındadır)
S İşaretsiz kısa tamsayı (daima 16 bit olup, makine bayt sıralamasındadır)
n İşaretsiz kısa tamsayı (daima 16 bit olup, en kıymetli bayt baştadır)
v İşaretsiz kısa tamsayı (daima 16 bit olup, en kıymetsiz bayt baştadır)
i İşaretli tamsayı (boyut ve bayt sıralaması makineye bağlıdır)
I İşaretsiz tamsayı (boyut ve bayt sıralaması makineye bağlıdır)
l İşaretli uzun tamsayı (daima 32 bit olup, makine bayt sıralamasındadır)
L İşaretsiz uzun tamsayı (daima 32 bit olup, makine bayt sıralamasındadır)
N İşaretsiz uzun tamsayı (daima 32 bit olup, en kıymetli bayt baştadır)
V İşaretsiz uzun tamsayı (daima 32 bit olup, en kıymetsiz bayt baştadır)
f Tek hassasiyetli gerçek sayı - float (boyut ve gösterim makineye bağlıdır)
d Çift hassasiyetli gerçek sayı - double (boyut ve gösterim makineye bağlıdır)
x NUL bayt (0. karakter)
X Bir baytlık yedek
@ Bir mutlak konuma kadar NUL dolgu

değiştirgeler

Dönen Değerler

Veriyi içeren bir ikil dizge döner.

Örnekler

Örnek 1 - pack() örneği

<?php
$ikilveri 
pack("nvc*"0x12340x56786566);
?>

Elde edilen ikil dizge 6 bayt uzunlukta olur ve sırayla 0x12, 0x34, 0x78, 0x56, 0x41, 0x42 baytlarını içerir.

Ayrıca Bakınız


Çeşitli İşlevler
PHP Manual