kaitai is an actively used interface design language created in 2016. Kaitai Struct is a YAML-based declarative language used to describe various binary data structures, laid out in files or in memory: i.e. binary file formats, network stream packet formats, etc. The main idea is that a particular format is described in Kaitai Struct language (.ksy file) and then can be compiled with ksc into source files in one of the supported programming languages. These modules will include a generated code for a parser that can read described data structure from a file / stream and give access to it in a nice, easy-to-comprehend API.
- the kaitai website
- kaitai on github
- kaitai first appeared in 2016
- file extensions for kaitai include ksy
- the kaitai team is on twitter
- See also: protobuf
- Have a question about kaitai not answered here? Email me and let me know how I can help.
Example code from the web:
meta: id: tcp_segment endian: be seq: - id: src_port type: u2 - id: dst_port type: u2 - id: seq_num type: u4 - id: ack_num type: u4
Last updated June 22nd, 2020