Используя только чистый рубин (или оправданно распространенные гемы), существует ли эффективный способ поиска в большом двоичном документе по определенной строке байтов?
Более глубокий контекст:Контейнерный формат mpeg4 представляет собой 4-байтовую индексированную сериализованную структуру данных, без необходимости полного анализа структуры (могу предположить, что она действительна). Я хочу извлечь определенные теги.
Для тех из вас, кто еще ненатолкнитесь на эту сериализацию 'dmap', прежде чем она сработает примерно так:
<4-byte length<4-byte tag><4-byte length><4-byte type definition><8 bytes of something I can't remember><data>
например, это определяет тег 'tvsh' (или TV Show) как 'Futurama'
00 00 00 20 ...
74 76 73 68 tvsh
00 00 00 18 ....
64 61 74 61 data
00 00 00 01 ....
00 00 00 00 ....
46 75 74 75 Futu
72 61 6D 61 rama
Точная структура не очень важна, я хотел бы написать метод, который может вытащить название шоу, когда я дам ему 'tvsh' или что это сезон 2, если я дам ему 'tvsn'.
Мой первый план - использовать регулярные выражения, но у меня возникает (неоправданное) ощущение, что это будет медленно.
Дайте мне знать ваши мысли!Заранее спасибо