Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MessagePack
- ===========
- (https://github.com/msgpack/msgpack)
- MessagePack is an object serialization specification.
- Unlike JSON, MessagePack is more compact but not human-readable.
- NULL
- ====
- 11000000 : Null
- BOOLEAN, INTEGER
- ================
- 11000010 : False
- 11000011 : True
- 0XXXXXXX : Positive integer
- 111XXXXX : Negative integer
- 11001100 1*XXXXXXXX : Uint8
- 11001101 2*XXXXXXXX : Uint16
- 11001110 4*XXXXXXXX : Uint32
- 11001111 8*XXXXXXXX : Uint64
- 11010000 1*XXXXXXXX : Int8
- 11010001 2*XXXXXXXX : Int16
- 11010010 4*XXXXXXXX : Int32
- 11010011 8*XXXXXXXX : Int64
- FLOAT
- =====
- 11001010 4*XXXXXXXX : Float32
- 11001011 8*XXXXXXXX : Float64
- STRING, BLOB
- ============
- - X: Length of data in bytes
- - Y: Data, array of char/byte
- 101XXXXX ( YYYYYYYY )* : String
- 11011001 1*XXXXXXXX ( YYYYYYYY )* : String
- 11011010 2*XXXXXXXX ( YYYYYYYY )* : String
- 11011011 4*XXXXXXXX ( YYYYYYYY )* : String
- 11000100 1*XXXXXXXX ( YYYYYYYY )* : Blob
- 11000101 2*XXXXXXXX ( YYYYYYYY )* : Blob
- 11000110 4*XXXXXXXX ( YYYYYYYY )* : Blob
- ARRAY, KEY-VALUES
- =================
- - X: Number of items, number of key-value pairs
- - <item>, <key>, <value>: Item, key, value
- 1001XXXX ( <item> )* : array
- 11011100 2*XXXXXXXX ( <item> )* : array
- 11011101 4*XXXXXXXX ( <item> )* : array
- 1000XXXX ( <key> <value> )* : key-values
- 11011110 2*XXXXXXXX ( <key> <value> )* : key-values
- 11011111 4*XXXXXXXX ( <key> <value> )* : key-values
- CUSTOM TYPE DATA
- ================
- - X: Length of data in bytes
- - Y: Type, use 0YYYYYYY because 1YYYYYYY is reserved
- - Z: Data, array of byte
- 11010100 0YYYYYYY 1*ZZZZZZZZ
- 11010101 0YYYYYYY 2*ZZZZZZZZ
- 11010110 0YYYYYYY 4*ZZZZZZZZ
- 11010111 0YYYYYYY 8*ZZZZZZZZ
- 11011000 0YYYYYYY 16*ZZZZZZZZ
- 11000111 1*XXXXXXXX 0YYYYYYY ( ZZZZZZZZ )*
- 11001000 2*XXXXXXXX 0YYYYYYY ( ZZZZZZZZ )*
- 11001001 4*XXXXXXXX ( ZZZZZZZZ )*
- TIMESTAMP
- =========
- - N: Nanoseconds (0 to 999999)
- - S: Seconds
- 11010110 11111111 4*SSSSSSSS (S is unsigned)
- 11010111 11111111 30*N 34*S (S is unsigned)
- 11000111 00001100 11111111 4*NNNNNNNN 8*SSSSSSSS (S is signed)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement