Although Thrift format is relatively widely used (and project still alive), I haven't been able to find specification for the underlying data format. Or formats, given that there are apparently at least two formats; standard one, and compact format.
Given its wide usage I am hoping it is just my poor google-fu, and a specification or specifications exist (outside of source code). If so, please share!
EDIT: Java source code is not too bad for figuring out format; see TBinaryProtocol.java and TCompactBinaryProtocol.java; which contain primitives, called by generated classes (which extend TBase)
EDIT2: While it does not contain format spec, "the missing guide" is good reading.
I had the same problem and therefore decided to write a specification of the Thrift binary and compact protocol.
You can find it here: https://erikvanoosten.github.io/thrift-missing-specification/