I could do with one last round of constructive criticism before I do!
It's designed for:
* Security when ingesting data
* High efficiency
* Human readability
* Native support for all basic types
* Simple to use
Its purpose is to give a secure and efficient alternative for whenever you'd normally reach for JSON or similar ad-hoc formats.Example (using the text format):
c1
{
"boolean" = true
"binary int" = -0b10001011
"octal int" = 0o644
"decimal int" = -10000000
"hex int" = 0xfffe0001
"very long int" = 100000000000000000000000000000000000009
"decimal float" = -14.125
"hex float" = 0x5.1ec4p+20
"very long flt" = 4.957234990634579394723460546348e+100000
"not-a-number" = nan
"infinity" = inf
"neg infinity" = -inf
"string" = "Strings support escape sequences: \n \t \[1f415]"
"url" = @"https://example.com/"
"email" = @"mailto:[email protected]"
"uuid" = f1ce4567-e89b-12d3-a456-426655440000
"date" = 2019-07-01
"time" = 18:04:00.948/Europe/Prague
"timestamp" = 2010-07-15/13:28:15.415942344/America/Vancouver
"null" = null
"media" = @application/x-sh[23 21 2f 62 69 6e 2f 73 68 0a 0a 65 63 68
6f 20 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a]
"list" = [1 2.5 "a string"]
"map" = {"one"=1 2="two" "today"=2020-09-10}
"bytes" = @u8x[01 ff de ad be ef]
"int16 array" = @i16[7374 17466 -9957]
"uint16 hex" = @u16x[91fe 443a 9c15]
"float32 array" = @f32[1.5e10 -8.31e-12]
}
Website: https://concise-encoding.org/Structure: https://github.com/kstenerud/concise-encoding/blob/master/ce...
Binary Format: https://github.com/kstenerud/concise-encoding/blob/master/cb...
Text Format: https://github.com/kstenerud/concise-encoding/blob/master/ct...
Reference implementation (go): https://github.com/kstenerud/go-concise-encoding
Command line tool: https://github.com/kstenerud/enctool