PHP - 创建有效的字节字符串

时间:2018-03-20 11:14:33

标签: php

INTRO

我有两个字节串。 第一个是从十六进制代码数组开始创建的,并使用 for cicle来创建字节字符串:

$codes = ["02", "66", "6c", "6a", "3a", "03"];
$bytestring1 = "";
for ($i = 0; $i < count($codes); $i++) $byteString1 .= "\x" . $codes[$i];

创建第二个字符串是直接手写的:

$bytestring2 = "\x02\x66\x6c\x6a\x3a\x03";

我的预期

我希望$bytestring1$bytestring2完全相同。

发生什么

当我使用 socket_send 命令将$bytestring1$bytestring2发送到客户端时,变量$ bytestring1似乎是纯字符串,但它不起作用。

相反,变量$bytestring2被识别为一个字节字符串,它可以工作。

问题

如何使用第一种方法创建有效的字节串

感谢名单。

1 个答案:

答案 0 :(得分:1)

使用http://php.net/manual/en/function.hex2bin.php

就像那样:

$codes = ["02", "66", "6c", "6a", "3a", "03"];
$byteString1 = hex2bin(implode('', $codes));