我想知道这里的任何人是否知道将整数转换为byte [4]的有效方法?我试图写一个int到MemoryStream中,并且这件事要我给它字节在.NET中将int转换为byte [4]
4
A
回答
14
如果要将基元类型转换为其字节表示形式,则可以使用BitConverter.GetBytes
。只要记住要确保您的场景的字节顺序是正确的。
7
使用BinaryWriter(用你的内存流构造);它有一个采用Int32的写入方法。
BinaryWriter bw = new BinaryWriter(someStream);
bw.Write(intValue);
bw.Write((Int32)1);
// ...
+0
好主意!谢谢 – galets 2009-02-19 16:54:01
2
6
BinaryWriter
将写入一个流简单的解决方案BitConverter.GetBytes
是最合适的,如果你真的想要一个数组- 我自己的版本MiscUtil(
EndianBitConverter
和EndianBinaryWriter
)给你更多地控制字节序,并且还允许你直接转换成现有的数组。
3
你也可以做你自己的转变!虽然我会使用内置的方法计算出我想扔出去的乐趣。
byte[] getBytesFromInt(int i){
return new byte[]{
(byte)i,
(byte)(i >> 8),
(byte)(i >> 16),
(byte)(i >> 24)
};
}
当然,那么你必须担心endian。
+0
也恰好是跨平台,上面也适用于Java :) – 2009-02-19 17:12:36
相关问题
- 1. 在Android中将int转换为byte []
- 2. 将int []转换为C#中的byte []
- 3. 如何将int转换为byte []?
- 4. 如何将int []转换为byte []
- 5. 如何将int转换为Byte数组?
- 6. Java - 将int转换为4字节的Byte数组?
- 7. 如何将int转换为byte []并重新设置byte []的值
- 8. 如何在C#中将int [,]转换为byte []#
- 9. 如何在Java中将(int)5转换为(byte)0x05?
- 10. 将byte []转换为UInt16。
- 11. 在Haskell中将Maybe Int转换为Int
- 12. 在java中将byte []转换为long []
- 13. 将SQL Server signed int转换为Binary(4)
- 14. C# - 将uint转换为byte []
- 15. 在'C'中将int转换为int []
- 16. 如何提高将byte []转换为int的性能?
- 17. 将[Int?]转换为[Int]
- 18. 将int转换为int []
- 19. 将IO Int转换为Int
- 20. 将1 BYTE转换为int值,从00..FF到0..255
- 21. java使用什么算法将int转换为byte?
- 22. Scala库将数字(Int,Long,Double)转换为Array [Byte]
- 23. 在F#中将float转换为int#
- 24. C - 无法将1个参数从int转换为int [] [4]
- 25. 如何在.net中将long转换为int?
- 26. 从Int到Byte的转换问题(Java)
- 27. 将小端转换为int
- 28. 将ascii substr转换为int
- 29. 为什么在用byte添加int时需要显式转换?
- 30. 如何将int数组转换为int?
谢谢!我知道有一个简单的方法来做到这一点:) – galets 2009-02-19 16:53:23