Skip to content

Features

Tamás Koczka edited this page Nov 20, 2016 · 18 revisions

This page is about the features of the Kaitai WebIDE. If you are interested in what Kaitai is and/or like to learn more about the .ksy file format please visit Kaitai wiki (use the right-hand menu).

You can make new feature suggestions on the issues page. (But please check the existing issues before, especially the wishlist)

File tree

It supports basic features you would expect from a file store: you can upload, download, move, rename (F2), delete files and folders.

There are two main nodes:

  • kaitai.io is a read-only repository of samples and formats (you can send pull requests here)
  • Local storage is your browser's storage, your files will be stored here, make sure you make backup from time to time (as we are NOT storing your files on any server)

Screencast of file tree

You can access some more advanced functionality only from here, for example the parser code generator (see below).

Field selection

If you select an object or field in the tree view then the underlying bytes will be selected in the hex view and vica versa:

Screencast of field selection feature

Generate file parser for your favorite language

By right-clicking on any .ksy file in the file browser you can generate parser code for various languages: C++ (STL), C#, Graphviz, Java, Javascript, Perl, PHP, Python, Ruby.

Generate parser feature

Converter

Converts bytes to signed / unsigned, little / big endian integer representations, float, double, shows data in various string encodings (ASCII, UTF-8, UTF-16).

Converter feature

Save bytes from hex view

By right-clicking in hex view and selecting "Download" in the popup menu you can save the selected bytes as a binary file:

Screencast hex view byte save feature

You can also drag and drop back this partial file to further inspection.

Drag & drop files directly into editor

Drag & drop feature

Debugging

By adding debugger; into the generated code in the JS code (debug) tab and pressing Ctrl+Enter, you can break the parsing process at various points and make further inspections, access parsing state variables, etc:

Debugging feature

Clone this wiki locally