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

Bagaimana untuk menukar rentetan php kepada bait

PHPz
PHPzasal
2023-03-29 10:11:261185semak imbas

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 $... ] )

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));

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 )

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];

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!

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