Преобразование объекта в байтовый массив в c#
Я хочу преобразовать значение объекта в массив байтов в c#.
EX:
step 1. Input : 2200
step 2. After converting Byte : 0898
step 3. take first byte(08)
Output: 08
спасибо
4 ответов
вы может взглянем на!--2-->метод getbytes способ:
int i = 2200;
byte[] bytes = BitConverter.GetBytes(i);
Console.WriteLine(bytes[0].ToString("x"));
Console.WriteLine(bytes[1].ToString("x"));
также убедитесь, что вы взяли endianness во внимание в вашем определении первый байт.
используя BitConverter.GetBytes
преобразовать целое число к byte[]
массив с использованием собственной endianness системы.
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)
Если вам нужен явный контроль над endianness преобразования, то вам нужно будет сделать это вручную:
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)