Pro*_*r08 3 php arrays converter
我有一个解决方案,但这个解决方案很慢.例:
$arr = array(14, 0, 1, 0, 0, 0, 0, 0, 0, 224, 0, 255, 255, 255, 255, 255);
$hex_str = "";
foreach ($arr as $byte)
{
$hex_str .= sprintf("%02X", $byte);
}
Run Code Online (Sandbox Code Playgroud)
结果是:0E0001000000000000E000FFFFFFFFFF
格式是:
255 => FF
0 => 00
1 => 01
14 => 0E
Run Code Online (Sandbox Code Playgroud)
如果您知道更快的解决方案,请分享.
您可以先将每个整数转换为char.
$chars = array_map("chr", $arr);
Run Code Online (Sandbox Code Playgroud)
然后把它变成一个字符串:
$bin = join($chars);
Run Code Online (Sandbox Code Playgroud)
最后将其转换为十六进制字符串:
$hex = bin2hex($bin);
Run Code Online (Sandbox Code Playgroud)
请参阅:array_map,chr,join,bin2hex.(当然,你可以在一行中完成所有这些.)