在 PHP 中将字符串转换为字节数组
在 PHP 中,有多种方法可以将包含字符和数字的字符串转换为字节数组。与 Java 的 getBytes() 方法类似,这里有一些实现此转换的方法:
使用 ord() 函数
使用以下命令循环遍历字符串中的每个字符strlen()。对于每个字符,使用 ord() 函数获取其 ASCII 整数值。将这些值存储在数组或字节数组中。
for ($i = 0; $i < strlen($msg); $i++) { $data[] = ord($msg[$i]); // Store in an array // or $byte_array .= ord($msg[$i]); // Concatenate in a byte array }
使用 unpack() 函数
PHP 的 unpack() 函数提供了一种简洁的方法来转换字符串转换为整数值的结构化数组。它允许您将字符串中的字符提取并重新解释为单独的字节。
$byte_array = unpack('C*', 'The quick fox jumped over the lazy brown dog'); var_dump($byte_array);
请注意,$byte_array 数组中的值是表示每个字符的 ASCII 代码的整数,范围从 0 到 255。
考虑到提供的原始代码片段,您似乎试图将字符转换为十六进制值而不是整数值。为此,您可以在获取字符的 ASCII 代码后使用 bin2hex() 函数:
for ($i = 0; $i < strlen($msg); $i++) { $data .= bin2hex(chr(ord($msg[$i]))); // Convert to hex and concatenate }
附加说明
以上是如何将 PHP 字符串转换为字节数组?的详细内容。更多信息请关注PHP中文网其他相关文章!