我正在从我的网络连接中读取一条消息,该消息被序列化为一系列以空字符结尾的字符串(以及其他二进制数据)

我可以使用BinaryReader一次读取一个char,直到找到NULL。

还有一种更有效的方法仍然很简单吗?我期待长度小于64个字符的字符串,但它们可能会更长。

有帮助吗?

解决方案

我认为逐字节读取是一个合理的选择,但我会使用 BufferedStream 以最小化底层流上的IO。

其他提示

将整个内容读入字符串,然后使用String.Split拆分空值。

请记住,字符串在.NET中不是以空值终止的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top