Java 的 ByteBuffer 在 C# 中最接近的对应物?
Posted
技术标签:
【中文标题】Java 的 ByteBuffer 在 C# 中最接近的对应物?【英文标题】:Java's ByteBuffer nearest counterpart in C#? 【发布时间】:2014-02-23 19:12:54 【问题描述】:目前正在寻找一个 Java 和 C# 应用程序的接口。在 Java 中,我可以使用getShort()
、getFloat()
等从缓冲区中获取各种不同的数据类型。
在 C# 中,我使用 MemoryStream
,但只有一个 get()
函数。有人知道可以模仿此功能的数据类型甚至类吗?
【问题讨论】:
【参考方案1】:您可以将您的 MemoryStream
包装在 BinaryReader
中:
using(var reader = new BinaryReader(yourStream))
int someInt = reader.ReadInt32();
BinaryReader
可以在 System.IO
命名空间中找到。
请参阅MSDN,了解您可以使用哪些方法的详细信息。请记住,这些方法遵循 Read + CLR 类型的模式。所以ReadInt32()
是int,ReadUInt16()
是简写等等。
【讨论】:
【参考方案2】:您正在寻找可以从任何流中读取的BinaryReader
类。
您也可以使用BitConverter
,它直接对字节数组进行操作。
【讨论】:
以上是关于Java 的 ByteBuffer 在 C# 中最接近的对应物?的主要内容,如果未能解决你的问题,请参考以下文章
什么是 C# 中 Java 的 ByteBuffer.wrap 的等价物?
Java--Stream,NIO ByteBuffer,NIO MappedByteBuffer性能对比