在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中文网其他相关文章!