Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk menukar data binari kepada perwakilan heksadesimal dalam PHP

Bagaimana untuk menukar data binari kepada perwakilan heksadesimal dalam PHP

PHPz
Lepaskan: 2024-03-19 09:18:01
ke hadapan
610 orang telah melayarinya

editor php Strawberry memperkenalkan anda cara menukar data binari kepada perwakilan heksadesimal. Dalam PHP, data binari boleh ditukar kepada perwakilan heksadesimal menggunakan fungsi bin2hex(). Fungsi ini menukarkan setiap bait kepada dua aksara perenambelasan, dengan itu menukar data perduaan kepada perwakilan perenambelasan. Kaedah ini sangat berguna dalam senario seperti penyulitan dan pengekodan, dan boleh memudahkan penukaran dan pemprosesan data.

PHP menukar data binari kepada perwakilan heksadesimal

Petikan

Dalam sesetengah kes, adalah perlu untuk menukar data binari kepada perwakilan perenambelasan. php menyediakan pelbagai cara untuk mencapai penukaran ini.

fungsi bin2hex()

Cara paling mudah ialah menggunakan fungsi bin2hex(). Fungsi ini menukar rentetan binari kepada setara perenambelasannya.

$binaryData = "01001000";
$hexData = bin2hex($binaryData);
Salin selepas log masuk

Hasil keluaran:

40
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

fungsi pek()

Fungsi

pack() juga boleh digunakan untuk menukar data binari kepada perwakilan heksadesimal. Tidak seperti pack() 函数也可以用于将二进制数据转换为十六进制表示。与 bin2hex() 不同,pack(), fungsi pack() menggunakan penentu format heksadesimal untuk menentukan format penukaran.

$binaryData = "01001000";
$hexData = pack("H*", $binaryData);
Salin selepas log masuk

Hasil keluaran:

40
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

sprintf() fungsi

sprintf() 函数提供了另一种将二进制数据转换为十六进制表示的方法。它使用 %x Penentu format untuk menentukan format perenambelasan.

$binaryData = "01001000";
$hexData = sprintf("%x", $binaryData);
Salin selepas log masuk

Hasil keluaran:

40
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Fungsi tersuai

Jika anda perlu mengawal proses penukaran tersuai, anda boleh menggunakan fungsi tersuai. Fungsi ini boleh melakukan langkah berikut:

  1. Pisah rentetan binari kepada tatasusunan bait.
  2. Tukar setiap bait kepada setara perenambelasannya.
  3. Sambungkan setara perenambelasan menjadi satu rentetan.

Berikut ialah contoh fungsi tersuai:

function bin2hex($binaryData) {
$bytes = unpack("C*", $binaryData);
$hexData = "";
foreach ($bytes as $byte) {
$hexData .= dechex($byte);
}
return $hexData;
}
Salin selepas log masuk

Pilih kaedah

Kaedah penukaran yang anda pilih untuk digunakan bergantung pada keperluan khusus anda. Jika anda memerlukan penyelesaian yang mudah dan pantas, fungsi bin2hex() 函數是一個不錯的選擇。如果需要更多控制轉換過程,則可以考慮使用 pack() adalah pilihan yang baik. Jika anda memerlukan lebih kawalan ke atas proses penukaran, anda boleh mempertimbangkan untuk menggunakan fungsi pack() atau fungsi tersuai.

Contoh

Berikut adalah contoh menggunakan kaedah berbeza untuk menukar data binari kepada perwakilan perenambelasan:

$binaryData = "01001000";

// 使用 bin2hex() 函數
$hexData1 = bin2hex($binaryData);

// 使用 pack() 函數
$hexData2 = pack("H*", $binaryData);

// 使用 sprintf() 函數
$hexData3 = sprintf("%x", $binaryData);

// 使用自定義函數
$hexData4 = bin2hex($binaryData);

// 顯示結果
echo "bin2hex(): $hexData1
";
echo "pack(): $hexData2
";
echo "sprintf(): $hexData3
";
echo "自定義函數: $hexData4
";
Salin selepas log masuk

Hasil keluaran:

bin2hex(): 40
pack(): 40
sprintf(): 40
自定義函數: 40
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menukar data binari kepada perwakilan heksadesimal dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
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