'c' Count (the type of an enum) A count of something. This is not meant to have the range to represent an arbitrary integer for the purposes of something like cryptography that requires arbitrarily large abstract integers. 'm' a multi-precision integer (accepts length modifier giving octets in integer) An arbitrary sized integer. 'w' an unsigned multi-precision integer (accepts length modified) An arbitrary sized unsigned integer. 'y' a yes/no value, aka a boolean Encoded as a single byte 0 or 1. 'b' binary An opaque blob of binary data 's' string (accepts a length modifier for fixed length strings) A sequence of UTF-8 encoded characters. 'k' integer 8 An 8-bit two's complement integer 'p' unsigned integer 8 An 8-bit integer that is always >= 0 (may also be used for bitfields) 'j' integer 16 A 16-bit two's complement integer 'o' unsigned integer 16 (no, 'o' makes no sense) A 16-bit integer that is always >= 0 (may also be used for bitfields) 'i' integer 32 A 32-bit two's complement integer 'u' integer 32 A 32-bit integer that is always >= 0 (may also be used for bitfields) 'l' integer 64 A 64-bit two's complement integer 'n' integer 64 A 64-bit integer that is always >= 0 (may also be used for bitfields) 'f' floating An IEEE 754 64 bit floating point number. 'h' half-size floating An IEEE 754 32 bit floating point number. 'g' a giant arbitrary precision floating point (maybe) An IEEE 754 floating point number with a sign + exponent size of 16 bits and an arbitrary number of bits of precision. 't(...)' Tuple (a ')' terminated list of types) A grouping of values. 'a[.]' an array (contains one type, the type of all the elements) Array's, lists and sets are largely indistinguishable in how they look on the wire, and so they are all represented by an array. Array's are not length delimited, there is a flag before each element saying whether or not it's the last one. 'd{..}' a dictionary (contains two types, the key type and value type of all the elements) A mapping from keys to values. 'v' variant type This is a type where the type is encoded in its value.