首页  >  文章  >  后端开发  >  php怎么将字符串转为字节数组

php怎么将字符串转为字节数组

PHPz
PHPz原创
2023-04-20 13:53:461034浏览

在PHP中,我们可以使用几种方法将字符串转换为字节数组。在本文中,我们将重点介绍两种最常用的方法。

方法一:使用str_split函数

str_split(string $ string,int $ split_length = 1):将字符串拆分为子字符串,将它们放在数组中,并返回该数组。每个字符串的长度将是split_length参数指定的长度。如果未指定split_length,则默认为1。

以下是将字符串转换为字节数组的示例代码:

$str = "Hello World!";
$bytes = str_split($str);

foreach($bytes as $byte) {
    echo ord($byte) . " ";
}

在此示例代码中,我们使用了ord函数将每个字符转换为ASCII码,并使用foreach循环将字节数组打印到控制台上。输出将是:

72 101 108 108 111 32 87 111 114 108 100 33

方法二:使用unpack函数

此方法需要使用pack函数将字符串打包为二进制数据。此外,使用unpack函数时需要指定打包的数据类型,并将返回值转换为字节数组。

以下是示例代码:

$str = "Hello World!";
$bytes = unpack('C*', pack('H*', bin2hex($str)));

foreach($bytes as $byte) {
    echo $byte . " ";
}

在此示例代码中,我们使用了bin2hex将字符串转换为十六进制字符串,然后使用pack将其打包为二进制数据。使用unpack时,我们使用C类型共享符号解包数据,并使用foreach循环打印字节数组。

输出将是:

72 101 108 108 111 32 87 111 114 108 100 33

综上所述,这是两种在PHP中将字符串转换为字节数组的方法。对于需要执行各种加密/解密操作的开发人员来说,理解这些方法的工作原理是至关重要的。

以上是php怎么将字符串转为字节数组的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn