Dalam PHP, anda mungkin menghadapi keperluan untuk menukar rentetan kepada tatasusunan bait, terutamanya apabila antara muka dengan sistem yang mengharapkan format data binari.
Sama seperti kaedah getBytes() Java, PHP menawarkan fungsi unpack() untuk menyelesaikan tugas ini. Tidak seperti getBytes(), yang mengembalikan tatasusunan bait yang mewakili titik kod Unikod rentetan, unpack() membolehkan anda menentukan format tersuai untuk mengekstrak data tertentu.
Untuk mendapatkan tatasusunan integer yang mewakili nilai bait rentetan, gunakan unpack() berikut format:
$byte_array = unpack('C*', $string);
Rentetan format 'C*' menunjukkan bahawa kami ingin membongkar jujukan aksara yang tidak ditandatangani (dalam julat [0, 255]), mewakili nilai bait rentetan.
Mari kita ambil contoh rentetan: "Musang pantas melompat ke atas anjing coklat malas". Menggunakan pendekatan di atas, kita boleh mendapatkan tatasusunan bait yang sepadan:
$string = "The quick fox jumped over the lazy brown dog"; $byte_array = unpack('C*', $string); var_dump($byte_array);
Output:
array(44) { [1] => int(84) [2] => int(104) [3] => int(101) [4] => int(32) [5] => int(113) [6] => int(117) [7] => int(105) [8] => int(99) [9] => int(107) [10] => int(32) [11] => int(102) [12] => int(111) [13] => int(120) [14] => int(32) [15] => int(106) [16] => int(117) [17] => int(109) [18] => int(112) [19] => int(101) [20] => int(100) [21] => int(32) [22] => int(111) [23] => int(118) [24] => int(101) [25] => int(114) [26] => int(32) [27] => int(116) [28] => int(104) [29] => int(101) [30] => int(32) [31] => int(108) [32] => int(97) [33] => int(122) [34] => int(121) [35] => int(32) [36] => int(98) [37] => int(114) [38] => int(111) [39] => int(119) [40] => int(110) [41] => int(32) [42] => int(100) [43] => int(111) [44] => int(103) }
Seperti yang anda lihat, tatasusunan output mengandungi nilai bait setiap aksara dalam rentetan, diindeks daripada 1.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Rentetan PHP kepada Tatasusunan Byte Menggunakan `unpack()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!