Пытаюсь написать парсер для ar при помощи Kaitai Struct (cast GreyCat). Заголовок должен выглядеть следующим образом:
Offset Length Name Format 0 16 File identifier ASCII 16 12 File modification timestamp Decimal 28 6 Owner ID Decimal 34 6 Group ID Decimal 40 8 File mode Octal 48 10 File size in bytes Decimal 58 2 Ending characters 0x60 0x0AТам есть переменные типа decimal размером 6, 10 и 12 байт. Как их правильно обозначить в kaitai struct?
Пока мой ksy выглядит так:
meta:
id: ar
file-extension: a
seq:
- id: sections
type: section
types:
section:
seq:
- id: artype
type: str
encoding: ascii
terminator: 0x0a
- id: arhead
type: header
- id: file
size: arhead.filesize
header:
seq:
- id: fileid
type: str
encoding: ascii
size: 16
- id: timestamp
size: 12
- id: owner
size: 6
- id: group
size: 6
- id: mode
size: 8
- id: filesize
size: 10
- id: ending
contents: [0x60, 0x0a]