Класс BitConverter
BitConverter - статический класс в
System. Экземпляр не создают. Число
раскладывается на байты в порядке, принятом
на машине; его проверяют через
IsLittleEndian.
Запись - GetBytes
и TryWriteBytes,
чтение - ToInt32
и другие To….
Синтаксис
byte[] data = BitConverter.GetBytes(12345);
int num = BitConverter.ToInt32(data, 0);
Пример
Давайте получим байты числа и соберём его обратно:
using System;
class Program
{
static void Main()
{
byte[] data = BitConverter.GetBytes(1);
int res = BitConverter.ToInt32(data, 0);
Console.WriteLine(res);
}
}
Результат выполнения кода:
1
Пример
Давайте выведем байты через string.Join:
using System;
class Program
{
static void Main()
{
byte[] data = BitConverter.GetBytes(1);
string res = string.Join(" ", data);
Console.WriteLine(res);
}
}
Результат выполнения кода на little-endian:
"1 0 0 0"
Пример
Давайте прочитаем IsLittleEndian:
using System;
class Program
{
static void Main()
{
Console.WriteLine(BitConverter.IsLittleEndian);
}
}
Результат выполнения кода на x86/x64:
True
Смотрите также
-
метод
GetBytes,
который кодирует число в байты -
метод
ToInt32,
который читаетintиз буфера -
метод
ToString,
который выводит байты как hex с дефисами -
IsLittleEndian,
которое задаёт порядок байт на машине