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

Bagaimana untuk menukar perenambelasan kepada kod ascii dalam php

藏色散人
Lepaskan: 2023-03-11 18:28:02
asal
3700 orang telah melayarinya

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)
Salin selepas log masuk

Rentetan parameter ialah nombor perpuluhan. perlu ditukar. Nombor heksadesimal

Sintaks fungsi pek adalah seperti berikut:

pack(format,args+)
Salin selepas log masuk

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 填充绝对位置
Salin selepas log masuk

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;
Salin selepas log masuk

:

I love中国
Salin selepas log masuk

Walau bagaimanapun, apabila melaksanakan fungsi hex2bin, ralat berikut mungkin dilaporkan:

hex2bin(): Hexadecimal input string must have an even length
Salin selepas log masuk

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;
}
Salin selepas log masuk

Contoh fungsi pek untuk menukar nombor perenambelasan kepada aksara ASCII adalah seperti berikut:

$str = '49206c6f7665e4b8ade59bbd';
$str = pack("H*", $str);
echo $str;
Salin selepas log masuk

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!

Label berkaitan:
php
sumber:php.cn
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