Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试通过 PHP 套接字发送数据的二进制表示。
因此,如果数字是 15,socket_write将发送 00001111 作为 15 的二进制表示。
socket_write
我该怎么做?
使用chr功能:
chr
socket_write( $fp, chr(15));
您还可以使用\x带有十六进制值的转义:
\x
socket_write( $fp, "\xff\xff\xff\xff" );
将发送 4 个字节,每个字节的值为 255。
要从任意数据生成二进制表示,请使用该pack()函数。
pack()
例子:
$data = pack("v", 15); // "i" is unsigned little endian integer socket_write($socket, $data);
有关各种格式的更多信息,请参见手册页。还有unpack()反向功能。
unpack()