可変長の 7 ビット文字がエンコードされているメッセージがあります。残念ながら、これらの 7Bit 文字はメッセージに 7Bit として格納されます。これは、メッセージの最後のバイトが必ずしもバイト境界に揃えられていないことを意味します。
Preon でのメッセージのデコードは正常に機能しますが、以前にデコードされたメッセージを Preon でエンコードし、バイト配列を比較すると、配列の長さが一致しません。エンコードされたバイト配列は、元のバイト配列よりも 1 バイト小さくなっています。
バグを想定してPreonをデバッグしましたが、設計どおりに動作します。バイト境界に達すると、Preon は BitChannel への次の write() 呼び出しが発生するまで残りのビットを保存します。しかし、最後のバイトについては、それ以上の呼び出しはありません。
問題は、Preon に残りのバッファをフラッシュするように指示する方法があるかどうかです。