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

Bagaimana untuk menukar data binari kepada perwakilan heksadesimal dalam PHP

PHPz
PHPzke hadapan
2024-03-19 09:16:18541semak imbas

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

Hasil keluaran:

40

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

Hasil keluaran:

40

sprintf() fungsi

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

$binaryData = "01001000";
$hexData = sprintf("%x", $binaryData);

Hasil keluaran:

40

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

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

Hasil keluaran:

bin2hex(): 40
pack(): 40
sprintf(): 40
自定義函數: 40

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!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam