某个设备给我发了串16进制的数我用$worker->onMessage = function($connection, $data)打印$data结果是空

a13976940879

代码
打印$data为空
用bin2hex($data)后再打印就就数据不过这个数据不会改变吗?

1964 1 0
1个回答

mgzhenhong

php的string类型是二进制安全的, 但是echo打印时遇到\0会终止输出.

传输二进制数据时可以用strlen($data) 判断收到的数据与发送的数据量是否一致, 作为简单判断.
用bin2hex转换后可以用于调试或日志查看数据.

  • 暂无评论
年代过于久远,无法发表回答
🔝