Преобразование массива байтов в целое число и обратно в C#

Класс BitConverter предоставляет статические методы, которые позволяют преобразовывать различные типы данных в и из массивов байтов. (Я полагаю, что было бы разумнее назвать его классом ByteConverter.) Эти методы можно использовать для преобразования данных, загружаемых из файлов и других источников, которые были сохранены способами, которые затрудняют его для чтения значения непосредственно в соответствующих типах.

В этом примере используется следующий код для преобразования некоторых байтов в целое и обратно. Большая часть кода используется для отображения байтов. Вызовы BitConverter, которые довольно просты, выделены жирным шрифтом.

Код инициализирует массив байтов произвольным значением. Затем он использует BitConverter.ToInt32 для преобразования этих байтов в 32-разрядное целое. Наконец, он использует BitConverter.GetBytes для преобразования целого числа обратно в массив байтов.

Класс BitConverter делает все это относительно простым. Это становится немного более запутанным, если данные, с которыми вы работаете, поступали с другого компьютера, который хранит байты целого в другом порядке. Например, если вы работаете над системой «большого конца», но данные были сгенерированы в «малоконечной» системе или наоборот. В этом случае вам может потребоваться изменить порядок байтов перед преобразованием их в целые числа. Дополнительную информацию см. В интерактивной справке для класса BitConverter .

Источник: http://csharphelper.com/blog/2017/10/convert-an-array-of-bytes-into-an-integer-and-back-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *