bin2hex() 函数
bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。
语法
bin2hex(string)
string必需。要转换的字符串。
示例一
把 "Shanghai" 转换为十六进制值
$str = bin2hex("Shanghai");
echo($str); // 5368616e67686169
?>
示例二
把一个字符串值从二进制转换为十六进制,再转换回去
$str = "Shanghai";
echo bin2hex($str) . "
"; // 5368616e67686169
echo pack("H*",bin2hex($str)) . "
"; // Shanghai
// H的意思 Hex string, high nibble first 转换成字符串,大写第一个字母
?>
pack() 函数
pack() 函数把数据装入一个二进制字符串。
语法
pack(format,args+)
format必需。规定在包装数据时所使用的格式。
args+可选。规定被包装的一个或多个参数。
format 参数的可能值:
a - NUL-padded string
A - SPACE-padded string
h - Hex string, low nibble first
H - Hex string, high nibble first
c - signed char
C - unsigned char
s - signed short (always 16 bit, machine byte order)
S - unsigned short (always 16 bit, machine byte order)
n - unsigned short (always 16 bit, big endian byte order)
v - unsigned short (always 16 bit, little endian byte order)
i - signed integer (machine dependent size and byte order)
I - unsigned integer (machine dependent size and byte order)
l - signed long (always 32 bit, machine byte order)
L - unsigned long (always 32 bit, machine byte order)
N - unsigned long (always 32 bit, big endian byte order)
V - unsigned long (always 32 bit, little endian byte order)
f - float (machine dependent size and representation)
d - double (machine dependent size and representation)
x - NUL byte
X - Back up one byte
@ - NUL-fill to absolute position
示例一
echo pack("C3",80,72,80); // PHP
?>
示例二
echo pack("C*",80,72,80); // PHP
?>