Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menukar Rentetan kepada Perduaan dan Kembali dalam PHP?
Apabila bekerja dengan data dalam PHP, selalunya perlu menukar antara format yang berbeza. Satu penukaran biasa adalah antara rentetan dan binari. Sama ada untuk menyimpan data dengan selamat atau mengoptimumkan prestasi, memahami cara menukar antara format ini adalah penting.
Cara menukar rentetan kepada binari dan kemudian menukarnya kembali kepada rentetan dalam perpustakaan PHP standard? Ini adalah keperluan biasa untuk penyimpanan dan manipulasi data yang selamat.
Tidak seperti sesetengah bahasa pengaturcaraan, PHP tidak mempunyai fungsi terbina dalam untuk menukar terus rentetan kepada binari. Walau bagaimanapun, gabungan fungsi pack() dan base_convert() boleh mencapai kefungsian ini.
Untuk menukar rentetan binari kembali kepada rentetan asalnya, kita boleh menggunakan pack () dan base_convert(). Fungsi pack() mengambil rentetan format dan rentetan data binari dan menggabungkannya untuk mencipta rentetan. Dalam kes kami, rentetan format ialah 'H*', yang menunjukkan rentetan heksadesimal. Fungsi base_convert() menukar rentetan dari satu pangkalan ke pangkalan yang lain. Dalam kes ini, kami menukar rentetan heksadesimal kepada set aksara ASCII:
<code class="php">// Convert binary into a string $string = pack('H*', base_convert('0101001101110100011000010110001101101011', 2, 16));</code>
Untuk menukar rentetan kepada binari, kita boleh menggunakan unpack() dan base_convert( ). Fungsi unpack() mengambil rentetan format dan rentetan dan mengekstrak data daripada rentetan mengikut format yang ditentukan. Dalam kes kami, kami menentukan format 'H*' untuk mengekstrak data heksadesimal. Fungsi base_convert() menukar rentetan dari satu pangkalan ke pangkalan yang lain. Di sini, kita menukar rentetan ASCII kepada rentetan perenambelasan, yang mewakili perwakilan binari:
<code class="php">// Convert a string into binary $binary = unpack('H*', 'Stack'); echo base_convert($binary[1], 16, 2);</code>
Mari kita letakkan semuanya bersama contoh:
<code class="php">// Convert "Stack" to binary $binary = unpack('H*', 'Stack'); $binaryString = base_convert($binary[1], 16, 2); echo "Binary: $binaryString\n"; // Convert binary back to "Stack" $asciiString = pack('H*', base_convert($binaryString, 2, 16)); echo "String: $asciiString\n";</code>
Output:
Binary: 0101001101110100011000010110001101101011 String: Stack
Dengan menggunakan fungsi ini, kami boleh menukar antara rentetan dan binari dengan berkesan dalam PHP. Pengetahuan ini tidak ternilai untuk penyulitan data, manipulasi fail dan pelbagai tugas lain.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan kepada Perduaan dan Kembali dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!