在php编程中,我们常常需要将字符串转化成字节数组。在这篇文章中,我们将介绍如何在php中将字符转化成字节数组。
1.使用str_split()函数
PHP内置函数str_split()可以将一个字符串分割成字符数组。这个函数将字符串作为第一个参数传递,第二个参数指定每一组的长度,如果不指定第二个参数,则默认长度为1。下面是一个将字符串转化成字节数组的例子:
$str = "Hello World"; $bytes = str_split($str); print_r($bytes);
输出结果如下:
Array (
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => W
[7] => o
[8] => r
[9] => l
[10] => d
)我们可以看到,str_split()函数已经将字符串成功地转化成了字节数组。
立即学习“PHP免费学习笔记(深入)”;
2.使用unpack()函数
PHP内置函数unpack()可以将二进制字符串划分成不同的变量。我们可以使用该函数将字符串转化成字节数组。下面是一个例子:
$str = "Hello World";
$bytes = unpack('C*', $str);
print_r($bytes);输出结果如下:
Array(
[1] => 72
[2] => 101
[3] => 108
[4] => 108
[5] => 111
[6] => 32
[7] => 87
[8] => 111
[9] => 114
[10] => 108
[11] => 100
)我们可以看到,unpack()函数已将字符串成功地转化成了字节数组。
3.使用mb_str_split()函数
如果我们处理的字符串包含多字节字符,我们可以使用mb_str_split()函数将字符串转化成字节数组。下面是一个例子:
$str = "你好世界";
$bytes = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY);
foreach($bytes as &$byte) {
$byte = bin2hex(mb_convert_encoding($byte, 'UCS-2BE'));
}
print_r($bytes);输出结果如下:
Array (
[0] => 4f60
[1] => 597d
[2] => 4e16
[3] => 754c
)我们可以看到,mb_str_split()函数已经成功地将包含多字节字符的字符串转化成了字节数组。
以上是PHP中将字符转化成字节数组的三种方法。我们可以根据需要选择不同的方法来实现这个功能。










