Show HN: Concise Encoding – Last Prerelease (concise-encoding.org)

1 points by kstenerud ↗ HN
After 5 years of development, I'm about to release v1.0 of Concise Encoding: a general purpose, human and machine friendly, compact representation of semi-structured hierarchical data.

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:me@somewhere.com"
        "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

0 comments

[ 2.3 ms ] story [ 178 ms ] thread

No comments yet.