A basic bare type. Values of type
string look differently depending on the length
L of the string being serialized:
L <= 253, the serialization contains one byte with the value of
Lbytes of the string followed by 0 to 3 characters containing 0, such that the overall length of the value be divisible by 4, whereupon all of this is interpreted as a sequence of
int(L/4)+132-bit little-endian integers.
L >= 254, the serialization contains byte 254, followed by 3 bytes with the string length
Lin little-endian order, followed by
Lbytes of the string, further followed by 0 to 3 null padding bytes.
All strings passed to the API must be encoded in UTF-8. When arbitrary byte sequences have to be serialized, bytes alias is to be used.
Basic bare type. It is an alias of the string type, with the difference that the value may contain arbitrary byte sequences, including invalid UTF-8 sequences.
When computing crc32 for a constructor or method it is necessary to replace all byte types with string types.