我试图通过PHP套接字发送数据的二进制表示。
因此,如果数字是15,socket_write
将发送00001111作为15的二进制表示。
我该怎么做?
使用chr
功能:
socket_write( $fp, chr(15));
也可以使用十六进制值的'x
转义:
socket_write( $fp, "'xff'xff'xff'xff" );
将发送4个字节,每个字节的值为255
使用pack()
函数从任意数据生成二进制表示。
的例子:
$data = pack("v", 15); // "i" is unsigned little endian integer
socket_write($socket, $data);
有关各种格式的更多信息,请参阅手册页。还有unpack()
用于反向功能。