2010-11-15 46 views
6

Tôi muốn chuyển đổi giá trị đối tượng thành mảng byte trong C#.Chuyển đổi đối tượng thành mảng byte trong C#

EX:

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

Output: 08 

nhờ

+0

thể trùng lặp của [Int để mảng byte] (http://stackoverflow.com/questions/4176653/int-to-byte-array) – Ani

Trả lời

11

Bạn có thể có một cái nhìn tại GetBytes phương pháp:

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

Ngoài ra hãy chắc chắn rằng bạn đã thực hiện endianness vào xem xét trong định nghĩa của bạn trong số byte đầu tiên.

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

Sử dụng BitConverter.GetBytes sẽ chuyển đổi số nguyên của bạn thành mảng byte[] bằng cách sử dụng tính cuối cùng gốc của hệ thống.

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) 

Nếu bạn cần kiểm soát rõ ràng so với endianness của việc chuyển đổi sau đó bạn sẽ cần phải làm điều đó bằng tay:

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); 
Các vấn đề liên quan