Мне нужно прочитать двоичный формат в Haskell. Формат довольно прост: четыре октета указывают длину данных, за которыми следуют сами данные. Четыре октета представляют целое число в сетевом порядке байтов.
Как я могу преобразовать ByteString
из четырех байтов в целое число? Я хочу прямое приведение (в C это будет *(int*)&data
), а не лексикографическое преобразование. Кроме того, как бы я поступил с порядком байтов? Сериализованное целое число находится в сетевом порядке байтов, но машина может использовать другой порядок байтов.
Я пробовал гуглить, но это были только результаты о лексикографическом преобразовании.