c# - BinaryWriter 不寻常的十六进制

标签 c# memorystream binarywriter

我在通过 BinaryWriter 传输数据时遇到一些问题。

当我尝试发送时

bw.Write(0x1a);
bw.Write(0xf8);
bw.Write(0x05);

它通过 0x00 进入输出

Client2Server._mainSock.Send(ms.ToArray());

是什么导致了这个问题?

问候

最佳答案

您在此处写入 3 个整数。整数占用 4 个字节,在所示的情况下,其中 3 个字节为零。改为发送字节:

bw.Write((byte)0x1a);

当然,如果您正在写入字节,那么 BinaryWriter 就太过分了 - 您可以只使用 Stream

关于c# - BinaryWriter 不寻常的十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10833844/

相关文章:

javascript - 使用C#创建WebAssembly

c# - 一个 MemoryStream 中的多个文件?

c# - ClosedXml 无法访问已关闭的流

c# - Ziparchive:如何从 ziparchive 关闭创建的条目

c# - 获取 BinaryReader/Writer 的编码?

c# - MemoryStream 读/写和数据长度

c# - 无法将引用类库的 ASP.NET 5 发布到 Azure

c# - 获取 xelement 属性值

c# - NHibernate.LazyInitializationException 异常

c# - 为什么使用 Write(Byte[]) 而不是使用 foreach 和 Write(Byte) 用 BinaryWriter 发送数据要快得多?