uint8バッファに格納される可変ビット数のデータのシリアル化を処理する最も簡単な方法は何でしょうか?可変長データ型Cのバッファ内
たとえば、最初の4ビットは1変数、1ビットはブール値、もう1ビットは3ビットです。次に、8バイトの配列があり、次に13ビットの変数などがあります。これらはすべて、ソケットを介して送信されるunsigned charバッファに書き込まれます。
変数のデータ型は時々8ビット-16ビット境界に揃えるされていない、彼らは
それ最善を書くことでしょうなど、長い、13ビット長で、3ビット長7ビットのようなビットの奇妙#を、持っていますこのためのCの何か、または第三者図書館を使用するか?
何ですか? XMLはあなたにとって十分ではありませんか? :) – infixed
私は間違いなくすべての変数のヘッダーとしてバッファの一部を使用します。ヘッダーはデータ型の長さを格納し、データ型を表す列挙型のintを格納します。次に、それを使いたいときに型変換に変換関数を書くことができます。 – SenselessCoder
@infixed:すべてのプラットフォームでXMLを使用することはできません! XMLは膨らんでいます。 – Olaf