Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar tatasusunan bait kepada rentetan dalam php

Bagaimana untuk menukar tatasusunan bait kepada rentetan dalam php

PHPz
PHPzasal
2023-04-18 10:18:10810semak imbas

Dalam PHP, tatasusunan bait boleh ditukar kepada rentetan menggunakan fungsi pack() atau ia boleh ditukar kepada rentetan yang digabungkan dengan pembatas tertentu menggunakan fungsi implode().

Format penggunaan fungsi pack() adalah seperti berikut:

$byteArray = array(0x68, 0x65, 0x6c, 0x6c, 0x6f);
$str = pack('C*', ...$byteArray);
echo $str; //输出:hello

Dalam kod di atas, $byteArray ialah tatasusunan yang mengandungi nilai bait, dengan memanggil fungsi pack() dan menghantar ' C *' format rentetan, tukar $byteArray kepada rentetan. 'C' bermaksud pembungkusan dengan bait yang tidak ditandatangani (iaitu integer tidak bertanda 8-bit), '*' bermaksud pembungkusan semua elemen. Menggunakan ...$byteArray, hantar elemen dalam $byteArray sebagai parameter fungsi. Fungsi

implode() boleh digunakan seperti ini:

$byteArray = array(0x68, 0x65, 0x6c, 0x6c, 0x6f);
$str = implode('', array_map('chr', $byteArray));
echo $str; //输出:hello

Dalam contoh ini, fungsi array_map() digunakan pada setiap elemen dalam $byteArray dan fungsi chr() ialah digunakan untuk Setiap bait ditukar kepada aksara ASCII yang sepadan. Kemudian gabungkan setiap aksara ke dalam rentetan, menggunakan rentetan kosong sebagai pembatas.

Selain itu, dalam PHP 7.2.0 dan ke atas, anda boleh menggunakan fungsi hex2bin() untuk menukar rentetan heksadesimal kepada data binari.

$str = '68656c6c6f';
$byteArray = hex2bin($str);
echo $byteArray; //输出:hello

Ringkasnya, terdapat banyak cara untuk menukar tatasusunan bait kepada rentetan dalam PHP Anda boleh memilih kaedah yang sesuai dengan anda untuk penukaran.

Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan bait kepada rentetan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn