データをエンコードするためのFASTのようなプロトコルは、送信する必要のあるデータの量を最小限に抑えるのに非常に賢いです。基本的に、char *を取得し、最初の数バイトを整数として読み取ると、残りのバイトをデコードする方法の指示を示すID番号が得られます(つまり、残りのバイトは、たとえば、int、文字列、unsigned int、別のunsigned int、ネストされたメッセージなど)と次の数バイトは、後続のフィールドが存在するかどうかを(各ビットで)示します。すべてのバイトの8番目のビットは、データ間の境界を示すために予約されています。
このようなプロトコルのデコードは、ビット操作(and、ors、shifts、ビットチェック)の線形トラバーサルなしでは実行できないようです...これをより高速に実行する方法はありますか?