Skip to content

Erik7354/gota

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KIM & Nota (Encoder)

Nota is a basic serialization format developed by Douglas Crockford the creator of JSON. In his own words from the WeAreDevelopers Conference 2024 - Nota is not meant to replace JSON but rather present an alternative that is as simple but more performant than JSON.

Nota uses its own string encoding KIM, instead of UTF-8. Nota also has its own format for floating point numbers called DEC64. Converting an IEEE754 float to DEC64 representation is surprisingly difficult to perform lossless. Here is an interesting thread about DEC64.

Nota's design is based on the concept of a continuation bit at the beginning of every byte. This would prevent a decoder of skipping over most datatypes like text, arrays and records without parsing them.

Given the complexity of the formats the KIM encoder and decoder is faster than the ones from the stdlib for UTF-8. Benchmarks can be found in the kim package.

Maintenance

This was a weekend project to dive deeper into KIM & Nota after hearing of it at the WAD24 conference. The code is not maintained nor production ready and currently also lacks features like struct and float support and a Nota decoder.

About

KIM & Nota (Encoder)

Resources

License

Stars

Watchers

Forks

Contributors

Languages