2010-11-15 144 views
6

我想將對象值轉換爲C#中的字節數組。將對象轉換爲C中的字節數組#

EX:

step 1. Input : 2200 
step 2. After converting Byte : 0898 
step 3. take first byte(08) 

Output: 08 

感謝

+0

[INT要字節數組]的可能重複(HTTP:/ /stackoverflow.com/questions/4176653/int-to-byte-array) – Ani 2010-11-15 14:53:39

回答

11

你可以看看的GetBytes方法:

int i = 2200; 
byte[] bytes = BitConverter.GetBytes(i); 
Console.WriteLine(bytes[0].ToString("x")); 
Console.WriteLine(bytes[1].ToString("x")); 

另外,還要確保你已經採取endianness考慮在你的定義第一個字節

4
byte[] bytes = BitConverter.GetBytes(2200); 
Console.WriteLine(bytes[0]); 
4

使用BitConverter.GetBytes將使用系統的本地字節序將您的整數轉換爲byte[]數組。

short s = 2200; 
byte[] b = BitConverter.GetBytes(s); 

Console.WriteLine(b[0].ToString("X")); // 98 (on my current system) 
Console.WriteLine(b[1].ToString("X")); // 08 (on my current system) 

如果你需要轉換的字節順序明確的控制,那麼你就需要手動做到這一點:

short s = 2200; 
byte[] b = new byte[] { (byte)(s >> 8), (byte)s }; 

Console.WriteLine(b[0].ToString("X")); // 08 (always) 
Console.WriteLine(b[1].ToString("X")); // 98 (always) 
1
int number = 2200; 
byte[] br = BitConverter.GetBytes(number); 
相關問題