問題タブ [gzipstream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4244 参照

c# - C#GZipStream-メモリストリームの圧縮

私は5つのMemoryStreamsを持っています。私が持っている5つのMemoryStreamのそれぞれがファイルを表す間に、新しいzip(これもStreamになります)を作成したいと思います。

string /1MemoryStreamをZipする方法についてこのコードがあります。

このコードは優れていますが、MemoryStreamsを何らかの方法で分離する必要があります。連続してほしくない。(できれば、ZipStream内の別のファイルに配置することをお勧めします)

ZipStream内にファイル(または同様のセパレーター)を作成するにはどうすればよいですか?

0 投票する
1 に答える
2335 参照

asp.net - コードGZippingでのIIS圧縮?

すべての静的コンテンツにgzipを追加し、.net4サイトからのhtml出力を追加しています。

また、IIS 7.5(静的および動的の両方)で圧縮を有効にしています。IISで圧縮を有効にすると、これらのリソースのVary:Accept-Encodingヘッダーが上書きされることがわかりました。

それで、私が疑問に思っているのは、私はすでに物事を圧縮しているので、IISで圧縮を有効にする必要があるのでしょうか?

だから、私はいくつかのテストを行いました、そして私が見つけたものは次のとおりです:

したがって、私の調査結果に基づいて、コードでこれを行う場合、IIS圧縮を利用する必要はないことに同意します。メモリ消費量は少し高くなりますが、CPU負荷は大幅に低くなり、ファイルを提供するためのコード内圧縮がはるかに効率的になります。

さて、これの私の全体的なポイントは、Vary:Accept-EncodingヘッダーのIIS上書きを見つけて取り除くことでした。これは、IIS圧縮が有効になっているかどうかに関係なく効果がないようです。ヘッダーはまだ追加されていません...それで、あなたはそれを手伝ってもらえますか?

これが私が実装しているキャッシングのコードです。このコードを含むメソッドを起動する前に、context.Response.ClearHeaders()を介してヘッダーをクリアしていることに注意してください。

0 投票する
2 に答える
389 参照

c# - 圧縮ストリームが空に見える

GZip を使用して、指定されたサイズのバッチ (全体ではなく) でファイルを圧縮する必要があります。byte[] バッファーを正常に埋めることができますが、それを圧縮ストリームにコピーした後、出力ストリームが空のままになります。

0 投票する
4 に答える
5117 参照

c# - GZIP解凍C#OutOfMemory

解凍するためにftpからダウンロードした大きなgzipファイル(約10MB〜200MB)がたくさんあります。

そこで、グーグルでgzip解凍の解決策を見つけようとしました。

50mb未満のファイルではうまく機能しますが、50mbを超える入力を行うと、システムのメモリ不足の例外が発生します。最後の位置と例外前のメモリの長さは134217728です。物理メモリとは関係がないと思います。32ビットを使用しているため、2GBを超えるオブジェクトを使用できないことを理解しています。

また、ファイルを解凍した後にデータを処理する必要があります。ここでメモリストリームが最善のアプローチであるかどうかはわかりませんが、ファイルに書き込んでからファイルを再度読み取るのはあまり好きではありません。

私の質問

  • System.OutMemoryExceptionが発生したのはなぜですか?
  • gzipファイルを解凍し、後でテキスト処理を行うための最善の解決策は何ですか?
0 投票する
2 に答える
1112 参照

c# - C# で GZip を使用して BitArray を圧縮する

100M 要素の BitArray があります。これは約 12.5M です。この配列を圧縮する必要があります。Framework の GZipStream を使用しています。

しかし、可変圧縮データのサイズは 12515308 です。元の配列よりも大きくなっています。何か案は?

別のコンプレッサーが必要ですか?

0 投票する
0 に答える
507 参照

c++ - boost: gzip を使用した HTTP レスポンスの解凍に失敗しました

ブースト gzip フィルターを使用して、http 本文の応答を圧縮解除しようとしています。どこでも提供されている標準のコード例を使用しています。

このシナリオでは、以前にページのコンテンツをソース ファイルに保存しました。問題は、このコードが gzip エンコーディングを使用する一部のサイト (たとえば、http://mail.ru - 最大のロシアのポータル) では機能しないことです。http://bing.comなどの他のサイトは、完全に圧縮解除されています。

GZipStream を使用して保存されたデータをテストする小さなコードを作成しました。mail.ru でも問題なく動作します。

mail.ruまたはgzipの何が問題なのか誰か説明できますか?

0 投票する
1 に答える
951 参照

c# - GZipフッターのストリームサイズが実際のストリームサイズと一致しません

GzipStreamから解凍すると、「GZipフッターのストリームサイズが実際のストリームサイズと一致しません」というIO例外が発生します。このエラーは複数のファイルで100%発生しているため、これが「実際の」破損ファイルの問題であるとは思われません。

圧縮コードは次のとおりです。

例外をスローしている解凍コードは次のとおりです。

0 投票する
2 に答える
8505 参照

c# - 大きなデータのGZipStream

大量のデータを圧縮しようとしていますが、100 GB程度の場合もありますが、作成したルーチンを実行すると、ファイルが以前のサイズとまったく同じサイズで出力されるように見えます。他の誰かがGZipStreamでこの問題を抱えていましたか?

私のコードは次のとおりです。

StreamSizeは、ファイルのサイズを保持する8バイトのUInt64値です。これらの8バイトをファイルの先頭に生で書き込むので、元のファイルサイズがわかります。Writeblockの値は32kb(32768バイト)です。fromStreamは、この場合はFileStreamからデータを取得するためのストリームです。圧縮データの前の8バイトで問題が発生しますか?

0 投票する
2 に答える
474 参照

c# - Windows MobileでGZipStreamの代わりにzipに何を使用する必要がありますか?

Microsoft VisualStudio2005でWindowsMo​​bile6用のアプリケーションを開発しています。Webサービスで受信したテキストを解凍する必要があります。しかし、GZipStreamを使用すると、次のエラーが発生します。

エラー1タイプまたは名前空間名'GZipStream'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)

私は今どうすればいい?

0 投票する
2 に答える
1294 参照

c# - 文字列圧縮のある方法では空の文字列が返されるのに、別の方法では返されないのはなぜですか?

私はGZipStream文字列を圧縮するために使用しています.2つの異なる例を変更して、何が機能するかを確認しました. ドキュメントの例を大幅に変更した最初のコード スニペットは、単に空の文字列を返します。

私がそれをデバッグするとき、私が知ることができるのは、から何も読み取られていないことだけです。readerこれcompressedStringは空です。ただし、CodeProject スニペットから変更した、私が書いた 2 番目のメソッドは成功しています。

最初のコード スニペットは成功しないのに、もう 1 つのコード スニペットは成功するのはなぜですか? 多少の違いはありますが、2 番目のスニペットのマイナーな変更によって機能する理由がわかりません。私が使用しているサンプル文字列はSELECT * FROM foods f WHERE f.name = 'chicken';