Как собрать целые из бинарной строки без циклов?

Рейтинг: 0Ответов: 0Опубликовано: 07.02.2015

Есть строка, в которой записаны 4 целых числа. Каждое может занимать разное число байт: 1, 2, 3 или 4. Эти длины известны.

Напр., дана строка 0x01AA02BBBB03CCDD и длины содержащихся в ней целых: 2, 3, 2 и 1 байт ( 01AA - двухбайтовое первое число, и т.д.).

Как красиво получить эти целые, не прибегая к циклам?

Некрасивое решение: unpack('C*', $string) и по байту в цикле смещаю на нужно число бит и добавляю в нужную ячейку массива четырех результатов. Кажется, это неэффективно..

Ответы

Ответов пока нет.