Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar perenambelasan kepada kod ascii dalam php

Bagaimana untuk menukar perenambelasan kepada kod ascii dalam php

藏色散人
藏色散人asal
2021-07-22 10:20:373713semak imbas

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 .

Bagaimana untuk menukar perenambelasan kepada kod ascii dalam php

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!

Kenyataan:
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