私はmessage.rpmsg形式(ここではhttp://msdn.microsoft.com/en-us/library/ee625343(v=EXCHG.80).aspx)のMicrosoft仕様を実装しようとしています。仕様は、パケットにパッケージ化されたzlib圧縮ストリームの奇妙な組み合わせです。各パケットについて、私はパケットヘッダーに圧縮されていないストリームのバイト数(4096でなければなりません。そうでなければ、仕様にもかかわらずOutlook Cough)、圧縮バッファのサイズ、およびマジックマーカーを入れる必要があります。ストリームへの低レベルのアクセスでzlib形式で圧縮しようとしています
私のコードは.netにあり、好ましくは私はすべての管理ライブラリを探しています。さまざまなライブラリ(SharpZlibLib、zlib.NET、マイクロソフトCompression.Deflate名前空間)を見ると
- 私は、それぞれ「書き込み」のために尽くします公に利用可能なエントリを見つけることができませんでした: - 圧縮されたバイト の数を返します。 - 保証BYTE境界(FLUSH_SYNC) - 理想的には、なりすましやコードの変更があまりありません
私が見てきたライブラリには、読み込み可能な出力ストリーム(圧縮ストリーム全体)がありますが、提供しませんパケット自体へのアクセス。
contrib/dotzlibの多くの変更の後、元のzlibライブラリとネイティブのzlib1.dllを使用していますが、私の現在の回避策の明らかなパフォーマンスと展開の面倒を避けたいと思います
私はFLUSHモードを指定できるライブラリを探していて、各パケットのサイズにアクセスできます。
誰もがさまざまなライブラリ評価できる場合にも、(zlib.netを、SharpZipLibは最もユビキタスのようだ - ?何か)、および、そのようなパフォーマンス/品質/サポートなどの分野
おかげで多くの ウリ
あなたが言及*ストリームから*読み込み - あなたはここで圧縮しているの? –