3 kaedah penukaran: 1. Gunakan fungsi dechex() untuk menukar nombor perpuluhan kepada rentetan perenambelasan, sintaksnya ialah "dechex (nilai data yang ditentukan);". 2. Gunakan fungsi base_convert() untuk menukar sebarang nilai asas kepada rentetan perenambelasan Sintaks ialah "base_convert(nilai data, asas asal, 16);". 3. Gunakan fungsi bin2hex() untuk menukar rentetan aksara ASCII kepada rentetan perenambelasan, dengan sintaks "bin2hex (nilai data)".
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
Dalam php, pindahkan data Terdapat dua situasi untuk rentetan perenambelasan:
Tukar data perenambelasan lain kepada rentetan perenambelasan
Tukar rentetan aksara ASCII kepada rentetan heksadesimal
Fungsi yang berbeza digunakan dalam situasi yang berbeza.
Kes 1: Tukar data asas lain kepada rentetan heksadesimal
PHP menyediakan dua fungsi untuk penukaran:
fungsi dechex()
fungsi base_convert()
1 >fungsi dechex() menukar nombor perpuluhan kepada nombor perenambelasan.
Nilai pulangan: Rentetan yang mengandungi nombor perenambelasan dengan nilai perpuluhan.dechex(number);
Contoh:
<?php echo dechex("30") . "<br>"; echo dechex("10") . "<br>"; echo dechex("1587") . "<br>"; echo dechex("70"); ?>
Penerangan:
hexdec() menukar rentetan perenambelasan kepada nombor perpuluhan. Nilai maksimum yang boleh ditukar ialah 7ffffffff, iaitu 2147483647 dalam perpuluhan. Bermula dengan PHP 4.1.0, fungsi ini boleh mengendalikan bilangan yang besar, dalam hal ini ia mengembalikan jenis apungan.
hexdec() Menggantikan semua aksara bukan heksadesimal yang ditemui dengan 0. Dengan cara ini, semua sifar di sebelah kiri diabaikan, tetapi sifar di sebelah kanan disertakan dalam nilai.
2. penukaran fungsi base_convert()fungsi base_convert() menukar nombor antara asas arbitrari.
base_convert(number,frombase,tobase);
参数 | 描述 |
---|---|
number | 必需。规定要转换的数。 |
frombase | 必需。规定数字原来的进制。介于 2 和 36 之间(包括 2 和 36)。高于十进制的数字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。 |
tobase | 必需。规定要转换的进制。介于 2 和 36 之间(包括 2 和 36)。高于十进制的数字用字母 a-z 表示,例如 a 表示 10,b 表示 11 以及 z 表示 35。 |
tobase
Contoh:
<?php echo base_convert("30", 10, 16) . "<br>"; echo base_convert("364", 8, 16) . "<br>"; ?>
Fungsi base_convert() juga boleh melaksanakan heksadesimal Kepada tukar kepada asas lain, nilai parameter frombase perlu nilai tetap 16.
Contoh 16 hingga 10:
<?php echo base_convert("1e", 16, 10) . "<br>"; echo base_convert("a", 16, 10) . "<br>"; echo base_convert("11ff", 16, 10) . "<br>"; echo base_convert("cceeff", 16, 10); ?>
Jika anda hanya mahu menukar perenambelasan kepada perpuluhan, terdapat fungsi hexdec() yang lebih mudah
hexdec() Menukar rentetan perenambelasan kepada nombor perpuluhan. Nilai maksimum yang boleh ditukar ialah 7ffffffff, iaitu 2147483647 dalam perpuluhan. Bermula dengan PHP 4.1.0, fungsi ini boleh mengendalikan jumlah yang besar, dalam hal ini ia mengembalikan jenis apungan.
hexdec() Menggantikan semua aksara bukan heksadesimal yang ditemui dengan 0. Dengan cara ini, semua sifar di sebelah kiri diabaikan, tetapi sifar di sebelah kanan disertakan dalam nilai.
<?php echo hexdec("1e") . "<br>"; echo hexdec("a") . "<br>"; echo hexdec("11ff") . "<br>"; echo hexdec("cceeff"); ?>
Kes 2: Tukar rentetan aksara ASCII kepada rentetan heksadesimal fungsi bin2hex() menukar rentetan aksara ASCII kepada nilai perenambelasan.
Nilai pulangan: Mengembalikan nilai perenambelasan rentetan yang hendak ditukar.bin2hex(string)
<?php echo bin2hex("Hello!")."<br>"; echo bin2hex("123")."<br>"; echo bin2hex("10")."<br>"; ?>
Pembelajaran yang disyorkan: "
Tutorial Video PHPAtas ialah kandungan terperinci Bagaimana untuk menukar data kepada rentetan perenambelasan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!