我想知道這裏的任何人是否知道將整數轉換爲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