Bagaimana untuk menukar rentetan php kepada bait

PHPz
Lepaskan: 2023-03-29 10:49:01
asal
1229 orang telah melayarinya

PHP ialah bahasa skrip sebelah pelayan sumber terbuka yang digunakan dalam pembangunan web, skrip baris arahan dan medan lain. Menukar antara rentetan dan bait adalah operasi yang sangat biasa dalam PHP. Artikel ini akan memperkenalkan cara menukar rentetan kepada bait dan bait kepada rentetan dalam PHP.

1. Tukar rentetan kepada bait

Dalam PHP, anda boleh menggunakan fungsi pack() untuk menukar rentetan kepada bait.

Sintaks fungsi pack() adalah seperti berikut:

string pack ( string $format , mixed $args [, mixed $... ] )
Salin selepas log masuk

Antaranya, $format ialah kaedah pembungkusan (iaitu, parameter masuk dibungkus ke dalam rentetan binari mengikut kepada format yang ditentukan), $args ialah parameter yang akan dibungkus.

Secara khusus, parameter $format ialah rentetan format yang digunakan untuk menentukan cara data dibungkus. Contohnya, gunakan H* untuk menukar semua parameter kepada rentetan perenambelasan.

Berikut ialah contoh kod untuk menukar rentetan kepada bait:

$str = 'Hello, world!';
$bytes = pack('H*', bin2hex($str));
Salin selepas log masuk

Dalam kod di atas, untuk menukar rentetan $str kepada rentetan heksadesimal, Kemudian gunakan pek() berfungsi untuk membungkusnya ke dalam bait.

2. Tukar bait kepada rentetan

Dalam PHP, anda boleh menggunakan fungsi unpack() untuk menukar bait kepada rentetan.

Sintaks fungsi unpack() adalah seperti berikut:

array unpack ( string $format , string $data )
Salin selepas log masuk

Antaranya, $format ialah kaedah membongkar (iaitu, rentetan binari dibongkar ke dalam data mengikut format yang ditentukan), dan $data ialah Data untuk dibongkar.

Secara khusus, parameter $format ialah rentetan format yang menentukan cara membongkar data. Contohnya, gunakan H* untuk menukar data binari kepada rentetan perenambelasan.

Berikut ialah contoh kod yang menukarkan bait kepada rentetan:

$bytes = "\x48\x65\x6c\x6c\x6f\x2c\x20\x77\x6f\x72\x6c\x64\x21";
$str = unpack('H*', $bytes)[1];
Salin selepas log masuk

Dalam kod di atas, bait dibongkar $bytes ke dalam rentetan aksara heksadesimal, dan kemudian gunakan bin2hex () berfungsi untuk menukarnya menjadi rentetan. Ambil perhatian bahawa nilai pulangan bagi fungsi unpack() ialah tatasusunan, jadi anda perlu menggunakan [1] untuk mendapatkan rentetan yang tidak dibungkus.

Ringkasan

Dalam PHP, penukaran antara rentetan dan bait ialah operasi yang sangat biasa. Artikel ini memperkenalkan dua kaedah, iaitu menggunakan fungsi pack() untuk menukar rentetan kepada bait, dan menggunakan fungsi unpack() untuk menukar bait kepada rentetan. Dalam pembangunan sebenar, kita secara fleksibel boleh memilih kaedah yang sesuai untuk penukaran mengikut keperluan.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan