BLOB (binary large object) allows you to transfer binary data in chunks,
in a streaming way, when data may not fit in memory.
[encoding/INT] follows the BLOB tag, setting the following chunks
payload size, plus one. Then comes one or more binary [encoding/String]
with the chunk-length payload. All of them, except for the last
one, must have fixed chunk length payload. Last terminating string's
payload must be shorter.
Data format definition must specify exact chunk size expected to be
used, if it needs deterministic encoding.
BLOB INT(chunk-len) [BIN(len=chunk-len) || ...] BIN(len<chunk-len)
Example representations:
BLOB {5 ""} | 0B 0C8105 80
BLOB {5 "12345"} | 0B 0C8105 85 3132333435 80
BLOB {5 "123456"} | 0B 0C8105 85 3132333435 81 36
BLOB {500 "123"} | 0B 0C8201F4 83 313233
BLOB {2 "12345"} | 0B 0C8102 82 3132 82 3334 81 35