Masalah Penukaran PHP: Pengekodan dan Penyahkodan Perenambelasan
Menukar antara rentetan dan nilai perenambelasan boleh membawa kepada hasil yang tidak dijangka apabila bekerja dengan PHP. Walaupun fungsi tersuai seperti strToHex dan hexToStr menyediakan kefungsian asas, ia mungkin tidak selalu menjadi penyelesaian yang paling sesuai.
Kod awal yang dibentangkan menghadapi masalah apabila digunakan pada teks yang disulitkan menggunakan XOR. Ini kerana proses penyulitan menghasilkan hasil binari. Percubaan untuk menukar perduaan ini kepada heksadesimal menghasilkan data yang salah.
Penyelesaian: Bin2hex dan Hex2bin
Untuk pengekodan dan penyahkodan rentetan binari, PHP menawarkan fungsi asli bin2hex dan hex2bin . Fungsi ini mengendalikan data binari dengan berkesan, memastikan penukaran yang tepat.
Untuk menukar rentetan binari kepada perenambelasan, gunakan bin2hex seperti berikut:
bin2hex("that's all you need"); # Output: 74686174277320616c6c20796f75206e656564
Untuk menyahkod rentetan perenambelasan kembali kepada binari, gunakan hex2bin :
hex2bin('74686174277320616c6c20796f75206e656564'); # Output: that's all you need
Nota: Sentiasa pastikan bahawa data input dan output berada dalam format yang diharapkan. Data binari hendaklah digunakan dengan bin2hex dan hex2bin, manakala rentetan hendaklah digunakan dengan fungsi tersuai anda strToHex dan hexToStr.
Atas ialah kandungan terperinci Mengapakah `bin2hex` dan `hex2bin` PHP adalah Alat yang Tepat untuk Menukar Data Perduaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!