php 十六进制转换字节函数
时间: 2023-06-13 07:05:10 浏览: 53
可以使用 PHP 内置函数 hex2bin() 将十六进制字符串转换成字节。例如:
```php
$hexString = "48656c6c6f20576f726c64"; // 十六进制字符串
$byteString = hex2bin($hexString); // 转换成字节
echo $byteString; // 输出 "Hello World"
```
注意,hex2bin() 函数在 PHP 5.4.0 版本以上才可用。如果需要在低版本 PHP 中使用,可以自定义函数实现十六进制转换成字节的功能。示例代码如下:
```php
function hexToByte($hexString) {
$byteString = '';
for ($i = 0; $i < strlen($hexString) - 1; $i += 2) {
$byteString .= chr(hexdec($hexString[$i] . $hexString[$i + 1]));
}
return $byteString;
}
$hexString = "48656c6c6f20576f726c64"; // 十六进制字符串
$byteString = hexToByte($hexString); // 转换成字节
echo $byteString; // 输出 "Hello World"
```
相关问题
php 友好的打印字节数据
您好!在PHP中,可以使用bin2hex()函数将字节数据转换为十六进制形式的字符串。以下是一个示例代码:
```php
$data = "your_data"; // 待打印的字节数据,可以是加密结果或其他字节数据
// 将字节数据转换为十六进制字符串
$hex = bin2hex($data);
// 每两个字符之间添加一个空格,使输出更加友好
$hex = implode(' ', str_split($hex, 2));
// 打印结果
echo $hex;
```
这段代码将字节数据转换为十六进制字符串,并在每两个字符之间添加一个空格,以便更好地阅读。您可以将待打印的字节数据替换为加密结果或其他字节数据,以便在调试时更好地观察数据。
php 数组转成字节数组
要将 PHP 数组转换为字节数组,可以使用 `pack` 函数。该函数可以将数据打包成二进制字符串。
下面是一个示例代码,将 PHP 数组转换为字节数组:
```php
<?php
$array = [1, 2, 3, 4, 5]; // 要转换的数组
$byteArray = ''; // 初始化字节数组
foreach ($array as $value) {
$byteArray .= pack('C', $value); // 将每个数组元素打包为一个字节,并追加到字节数组中
}
// 打印字节数组
echo bin2hex($byteArray);
?>
```
在上面的示例中,我们使用 `pack` 函数将每个数组元素转换为一个字节,并将其追加到字节数组 `$byteArray` 中。最后,我们使用 `bin2hex` 函数将字节数组转换为十六进制字符串,并进行打印。
请注意,上述示例假设数组中的每个元素都是介于 0 到 255 之间的整数。如果数组元素不符合这个范围,可能需要进行适当的处理。