Dalam pembangunan, kita selalunya perlu menghantar data dalam bentuk binari Pada masa ini, kita perlu menukar data binari kepada tatasusunan bait supaya data boleh dihantar dengan lebih stabil dan cekap semasa proses penghantaran. Dalam PHP, cara untuk mencapai fungsi ini adalah melalui fungsi pek dan fungsi bongkar Mari kita belajar tentangnya bersama-sama.
Fungsi pek ialah fungsi pembungkusan data binari dalam php Ia boleh membungkus data yang ditentukan ke dalam rentetan binari mengikut format yang ditentukan. Antaranya, parameter rentetan format ditentukan mengikut susunan bait yang akan dibungkus, dan setiap aksara format sepadan dengan jenis data. Berikut ialah penggunaan asas fungsi pek:
string pack ( string $format [, mixed $args [, mixed $... ]] )
Antaranya, parameter $format ialah rentetan format dan $args ialah data yang perlu dibungkus.
Yang berikut menggunakan contoh untuk menggambarkan penggunaan fungsi pek:
$binary_str = pack("C*", 67, 119, 105, 107, 105); echo $binary_str;
Dalam contoh ini, rentetan format "C*" bermaksud pembungkusan mengikut aksara dan parameter args ialah 67, 119, 105, 107, 105. Hasil pelaksanaan ialah:
Cwiki
Iaitu, rentetan yang terdiri daripada tatasusunan aksara 67, 119, 105, 107, 105 dibungkus dalam mod aksara dan rentetan "Cwiki" dikembalikan.
Selain kaedah aksara, fungsi pek juga menyokong pelbagai kaedah pembungkusan lain, seperti integer (I), integer panjang (L), double precision (d), dsb. Berikut ialah beberapa aksara format yang biasa digunakan:
Fungsi unpack ialah fungsi unpack data binari dalam PHP Ia boleh membongkar rentetan data binari ke dalam jenis data tertentu. Seperti fungsi pek, kita boleh membongkar data binari kepada pembolehubah yang mewakili jenis data yang berbeza dengan menentukan parameter rentetan format dan rentetan data. Berikut ialah penggunaan asas fungsi pembongkaran:
array unpack ( string $format , string $data )
Antaranya, parameter $format ialah rentetan format dan $data ialah data yang perlu dibongkar.
Yang berikut menggunakan contoh untuk menggambarkan penggunaan fungsi unpack:
$binary_str = "Cwiki"; $unpacked = unpack("C*",$binary_str); print_r($unpacked);
Dalam contoh ini, $binary_str ialah rentetan data binari "Cwiki", dan parameter $format ialah "C*". Hasil pelaksanaan ialah:
Array ( [1] => 67 [2] => 119 [3] => 105 [4] => 107 [5] => 105 )
Iaitu, rentetan data binari "Cwiki" dibongkar dalam mod aksara dan tatasusunan yang mewakili aksara berbeza diperolehi.
Selain kaedah aksara, fungsi unpack juga menyokong pelbagai kaedah pembongkaran yang lain, dan surat-menyurat antara aksara format dan aksara format fungsi pek adalah satu dengan satu.
Ringkasnya, melalui gabungan penggunaan fungsi pek dan fungsi unpack, kita boleh menukar sebarang data ke dalam rentetan binari dan membongkar pelbagai jenis data daripada rentetan binari, dengan itu merealisasikan Fungsi binari PHP untuk ditukar kepada bait tatasusunan.
Atas ialah kandungan terperinci Bagaimana untuk menukar data binari kepada tatasusunan bait dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!