C# 相当于Java';s";ByteBuffer.putType();在C中#
我试图通过从Java移植代码,在C#中格式化字节数组。在Java中,使用了方法“buf.putInt(value);”、buf.putShort、buf.putdoull(等等)。但是我不知道如何将它移植到C。我尝试过MemoryStream类,但没有方法将特定类型放在字节数组的末尾 问题:C#中Java的“ByteBuffer.putType(value)”的等价物是什么?C# 相当于Java';s";ByteBuffer.putType();在C中#,c#,java,memorystream,bytebuffer,C#,Java,Memorystream,Bytebuffer,我试图通过从Java移植代码,在C#中格式化字节数组。在Java中,使用了方法“buf.putInt(value);”、buf.putShort、buf.putdoull(等等)。但是我不知道如何将它移植到C。我尝试过MemoryStream类,但没有方法将特定类型放在字节数组的末尾 问题:C#中Java的“ByteBuffer.putType(value)”的等价物是什么? 谢谢 您将希望使用该类。主要区别在于,这些方法返回字节数组,而不是更改现有数组 (这是对上述特定方法的替换;要替换整个B
谢谢 您将希望使用该类。主要区别在于,这些方法返回字节数组,而不是更改现有数组 (这是对上述特定方法的替换;要替换整个ByteBuffer类,请参阅其他回复。)尝试该类: 您可以使用a和MemoryStream:
MemoryStream stream = new MemoryStream();
using (BinaryWriter writer = new BinaryWriter(stream))
{
writer.Write(myByte);
writer.Write(myInt32);
writer.Write("Hello");
}
byte[] bytes = stream.ToArray();
我们都喜欢写三件事,包括《你好》。谢谢你,这正是我想要的:)。但是,在使用二进制编写器之后,我如何才能返回到字节数组?如果二进制编写器围绕着
内存流
,你可以调用到数组
,然后获取一个字节数组。问另一个问题我觉得非常愚蠢,但是,我如何围绕内存流来包装它呢?拉兹洛,你可以看到我的答案“将其环绕在内存流中”(我觉得这不是我编辑Kent的位置)。谢谢你,我最终将使用此解决方案:)你的大多数变量名中都有6个字母,但有一些没有。我的强迫症正在发作,我几乎想要修复它们。。。
MemoryStream stream = new MemoryStream();
using (BinaryWriter writer = new BinaryWriter(stream))
{
writer.Write(myByte);
writer.Write(myInt32);
writer.Write("Hello");
}
byte[] bytes = stream.ToArray();