Start to study the format of thrift encoding format (binary protocol) and found this document(https://erikvanoosten.github.io/thrift-missing-specification/#_struct_encoding). Having one question. Can I assume the data in thrift is always send inside a struct? Otherwise, it needs other information to distinguish a number or a string (for example). I think this question also valid for protobuf?