Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar perenambelasan kepada kod ascii dalam php
Cara menukar heksadesimal kepada kod ascii dalam php: 1. Tukar nombor perenambelasan kepada aksara ASCII melalui fungsi bex2bin 2. Tukar nombor perenambelasan kepada aksara ASCII melalui fungsi pek .
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Cara menukar perenambelasan dalam Kod ascii PHP?
Tukar nombor perenambelasan kepada aksara ASCII
Tukar nombor perenambelasan kepada aksara ASCII dalam php menggunakan fungsi hex2bin, dalam php5 Tiada fungsi bex2bin dalam. Pada kali ini, kita boleh menggunakan fungsi pek untuk menukar nombor perenambelasan kepada aksara ASCII
Sintaks fungsi bex2bin adalah seperti berikut:
hex2bin(string)
Rentetan parameter ialah nombor perpuluhan. perlu ditukar. Nombor heksadesimal
Sintaks fungsi pek adalah seperti berikut:
pack(format,args+)
Penerangan parameter:
format: diperlukan, menentukan format yang digunakan semasa membungkus data , parameter Nilai pilihan adalah seperti berikut:
a - NUL 填充的字符串 A - SPACE 填充的字符串 h - 十六进制字符串,低位在前 H - 十六进制字符串,高位在前 c - signed char C - unsigned char s - signed short(总是16位, machine 字节顺序) S - unsigned short(总是16位, machine 字节顺序) n - unsigned short(总是16位, big endian 字节顺序) v - unsigned short(总是16位, little endian 字节顺序) i - signed integer(取决于machine的大小和字节顺序) I - unsigned integer(取决于machine的大小和字节顺序) l - signed long(总是32位, machine 字节顺序) L - unsigned long(总是32位, machine 字节顺序) N - unsigned long(总是32位, big endian 字节顺序) V - unsigned long(总是32位, little endian 字节顺序) f - float(取决于 machine 的大小和表示) d - double(取决于 machine 的大小和表示) x - NUL 字节 X - 备份一个字节 Z - NUL 填充的字符串 @ - NUL 填充绝对位置
args: pilihan, menentukan satu atau lebih parameter untuk dibungkus
fungsi bex2bin menukar: nombor perenambelasan kepada contoh aksara ASCII Hasil output adalah seperti berikut
$str = '49206c6f7665e4b8ade59bbd'; $str = hex2bin($str); echo $str;
:
I love中国
Walau bagaimanapun, apabila melaksanakan fungsi hex2bin, ralat berikut mungkin dilaporkan:
hex2bin(): Hexadecimal input string must have an even length
Sebab bagi ralat di atas mungkin: Dua jenis:
1: Mungkin terdapat aksara yang bukan perenambelasan dalam nombor perenambelasan kami
2: Panjang aksara bagi nombor perenambelasan ialah nombor ganjil
Jadi kita boleh menulis seperti ini:
$str = '49206c6f7665e4b8ade59bbd'; $str = @hex2bin($str); if ($str) { echo $str; } else { echo 0; }
Contoh fungsi pek untuk menukar nombor perenambelasan kepada aksara ASCII adalah seperti berikut:
$str = '49206c6f7665e4b8ade59bbd'; $str = pack("H*", $str); echo $str;
Seperti di atas, perenambelasan nombor ditukar dahulu Tukar nombor perenambelasan kepada aksara ASCII
Kajian yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menukar perenambelasan kepada kod ascii dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!