我的代码收到了一些带有48656C6C6F
这样的字节字段的json,并且我试图将其转换成数组array[0] = 48, array[1]=65 ...
这样的字节对,以便与每个字节一起工作。
实际上,我已经制作了此旁路函数以拥有数组:
function Array_conv($hex){
$chunks = str_split($hex, 2);
$result = implode(',', $chunks);
return $result;
}
问题是,有一种正确的方法可以转换为字节数组,或转换为类似0x48的十六进制。
谢谢!
答案 0 :(得分:0)
PHP中的字符串非常适合访问数组中的每个字节。
$hex = "48656C6C6F";
$string = hex2bin($hex);
var_dump($string); //string(5) "Hello"
函数strlen()返回字节的长度。通过简单的for循环,您可以获得每个字节。使用ord(),您可以将字节获取为0到255之间的无符号整数。
$byteLen = strlen($string);
for($i=0; $i < $byteLen; $i++){
$byte = $string[$i];
echo ord($byte).",";
}
输出:
72,101,108,108,111,