2015-05-19 3 views
3

Есть ли BitConverter или другой класс, который поддерживает .Net Core, что я могу читать целые числа и другие значения как имеющие кодировку Big Endian?Обработка Big-Endian в .Net Core

Я не чувствую себя хорошо о необходимости написать набор вспомогательных методов:

int GetBigEndianIntegerFromByteArray(byte[] data, int startIndex) { 
    return (data[startIndex] << 24) 
     | (data[startIndex + 1] << 16) 
     | (data[startIndex + 2] << 8) 
     | data[startIndex + 3]; 
} 

ответ

0

BitConverter класса с методом ToInt32()System.Runtime.Extensions в пакете существует.

+1

Да, к сожалению, как показывает источник, это работает только для «endianess» системы, в которой она встроена; это не всегда будет Большой Эндиан или Маленький Эндиан. Это прекрасно работает, если вы читаете и пишете одно приложение в одной системе, но как только вы меняете среды dnx, вы не можете доверять файлам сохранения. –

Смежные вопросы