Eng*_*eer 15 binary networking binary-data delimiter
我需要能够划分二进制数据流.我正在考虑使用像ASCII EOT(传输结束)字符这样的东西.
但是我有点担心 - 我怎么能确定用于此(0b00000100)的特定二进制序列不会出现在我自己的二进制序列中,从而在分界上给出误报?
换句话说,如何最好地处理二进制分隔?
编辑:...不使用长度标题.对不起,伙计们,之前应该提到这个.
sar*_*old 13
你有五个选择:
\0在某些内容中包含ASCII NUL.)TJD*_*TJD 10
通常,您以一种众所周知的格式包装二进制数据,例如使用描述后续数据的固定标头.如果您试图在未知的数据流中找到分隔符,通常需要转义序列.例如,像HDLC,其中0x7E是帧分隔符.必须对数据进行编码,使得如果数据内部存在0x7E,则将其替换为0x7D,然后是原始数据的XOR.类似地转义数据流中的0x7D.