标签: php sockets binary
我正在尝试通过PHP套接字发送数据的二进制表示。
因此,如果数字是15,socket_write将发送00001111作为15的二进制表示。
socket_write
我该怎么做?
答案 0 :(得分:4)
使用chr功能:
chr
socket_write( $fp, chr(15));
您还可以使用带有十六进制值的\x转义符:
\x
socket_write( $fp, "\xff\xff\xff\xff" );
将发送4个字节,每个字节值为255。
答案 1 :(得分:2)
要从任意数据生成二进制表示,请使用pack()函数。
pack()
示例:
$data = pack("v", 15); // "i" is unsigned little endian integer socket_write($socket, $data);
有关各种格式的详细信息,请参见手册页。反向功能还有unpack()。
unpack()