php函数pack()返回的字符串是什么?
// 'd' double 占用8个字节
$data = pack('d', 3.1415);
// dd函数见 Symfony\VarDumper
dd($data)
输出:
b"o\x12ƒÀÊ!\t@"
完全看不懂啊!
$i = 0;
dd(
$data[$i++],
$data[$i++],
$data[$i++],
$data[$i++],
$data[$i++],
$data[$i++],
$data[$i++],
$data[$i++]
);
输出:
"o"
"\x12"
b"ƒ"
b"À"
b"Ê"
"!"
"\t"
"@"
对照assic表对比, 无对应可显符号则显示十六进制.
十进制 | 十六进制 | 符号 | |
"o" | 79 | 6FH | o |
"\x12" | 18 | 12H | |
b"ƒ" | 131 | 83H | ƒ |
b"À" | 192 | C0H | À |
b"Ê" | 202 | CAH | Ê |
"!" | 33 | 21H | ! |
"\t" | 9 | 09H | \t |
"@" | 64 | 40H | @ |
再看看bin2hex函数
dd(bin2hex($data));
输出:
"6f1283c0ca210940"
对应assic表的十六进制这一列