問題タブ [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.
c# - GZIPストリームとメモリストリームを利用してCSVを適切に圧縮する
GZIPStream と MemoryStream を使用して CSV ファイルを圧縮していますが、結果ファイルに奇妙な点があります。CSVが正しく認識されていないようです。これは、ファイルが電子メールに添付されている場合に表示されますが、Windows デスクトップに保存すると正常に機能します。
gzip 部分を処理する現在のスニペットは次のとおりです。
compression - DataSet または任意の .Net オブジェクトの圧縮/解凍
私は WPF アプリを開発しています。このアプリでは、重い DataSet またはオブジェクト (<2MB) を暗号化および圧縮し、ネットワーク経由で送信します。相手はデータを解凍して復号化し、それを消費します。このプロセスは、サーバー (WCF) からクライアントへ、およびクライアントからサーバーへの両側で行われます。
- 効率的な圧縮クラスが必要です (.Net 圧縮クラスに固執したい)。
- 圧縮と解凍にかかる時間が短縮されます。
- 圧縮率が高く、データの取得は 100% である必要があります。
圧縮クラス (DeflateStream/GzipStream) について教えてください。
ありがとう
VJ
stream - 少量のデータを無損失で圧縮するときに最小サイズを達成するにはどうすればよいですか?
「小さいファイルを gzip/deflate で圧縮すると末尾にゼロが多くなるのはなぜですか?」に対する答えがわかりません。」 (小さなファイルを gzip/deflate で圧縮すると、末尾のゼロが多くなるのはなぜですか? )
.NET 環境で ½ ~ 2 K バイトの少量のデータを最小サイズに圧縮するにはどうすればよいでしょうか? (ランタイムは私にとって問題ではありません。サイズと速度を交換できますか? サードパーティ製品を使用する必要がありますか? 開発者のライセンス料は問題ありませんが、ランタイム ライセンスは必要ありません。)
- 以下のコードを改善する方法について何か提案はあります
か? (a) より高い圧縮率?
(b) ストリームのより適切な使用?
改善が必要な C# コードは次のとおりです。
serialization - GZipStream に直接 XmlSerialize すると、解凍時にマジック ナンバーの例外がスローされる
オブジェクトを XML にシリアライズしようとしていますが、私のオブジェクトは多くのレコードを含む一般的なリストであり、シリアライザーが大量のメモリを消費します。そこで、次のコードを使用して GZipStream に直接シリアル化しようとしました。
The magic number in GZip header is not correct. Make sure you are passing in a GZip stream.
ただし、データを decompressData 配列に読み取ろうとすると、InvalidDataExceptionが発生します。
最初に別のメモリストリームにシリアル化し、次にそのストリームを次のように圧縮すると:
エラーなく正常に動作します。しかし、GZipStream に直接シリアル化すると失敗するのはなぜですか?
.net - GzipStream (.net 4.0) 4GB の問題
組み込みの .net 4.0 Gzip および Deflate クラスを使用して、プログラムで 3GB (7GB 非圧縮) の gzip ファイルを解凍するのに問題があります。
私の理解では、どちらも 4GB を超えるファイルをサポートする必要がありますが、機能していないようです。問題のファイルを WinRAR で手動で解凍し、基になる csv ファイルをストリーム リーダーでストリーミングし、行数をカウントすると、約 7500 万行という期待される結果が得られます。ただし、GzipStream または DeflateStream を使用してこれを行うと、ストリーム リーダーは途中で停止し (4GB マーク付近)、「ストリームの終わり」を報告し、エラーなしで終了します。これらのリーダーを使用すると、ストリームが終了するまでに約 3,400 万行に到達するだけです。
次に、.net zip http://dotnetzip.codeplex.com/の最新のバイナリを試してみました が、途中でエラーが発生しました。「宛先配列の長さが不十分です。destIndex と長さ、および配列の下限を確認してください。」
私はこのファイルを作成しませんでしたが、同じソースからの小さなファイルで問題が発生したことはありません。そのため、サイズに関する何かが問題の原因であると思われます。このファイルの作成に使用されたツールが 64 ビットに準拠していない可能性がありますが、作成者にバグを報告する前に、バグが gzip 抽出ロジックで私たちの側にないことを確認したいと思います。
どんな考えでも大歓迎です。以下の抽出コードとテスト方法の例:
c# - GZipStream が機能しない
次の C# コードを使用してファイルを圧縮しています。
ただし、Windows エクスプローラーからファイルを抽出すると、ファイルの拡張子が失われるため、samplefile.xml ではなく、単に samplefile になります。.xml ファイルだけでなく、.txt ファイルでも同じことが起こりました。
私が間違っていることを理解するのを手伝ってもらえますか?
c# - C#でエンコードされた文字列を使用してzipファイルを作成する方法
私はC#を初めて使用し、Visual Studio 2005でC#.Net2.0を使用しています。
GZipStreamを使用して文字列からzipファイルを作成するにはどうすればよいですか。(サードパーティのライブラリを使用したくないので、純粋にC#を使用してこれを実行します。)
参考:シナリオはこれです。フォルダにはすでにzipファイルがあります。このzipファイルストリームをBase64でエンコードしてから、Base64でエンコードされた文字列を再度zipする必要があります。(Base64でエンコードされた元のzipファイルから新しいzipファイルを作成します)。
あなたの助けに感謝。
ありがとう、
チャトゥラ
c# - Monoでの.NETGZipStreamクラスの使用
GZipStreamクラスから例を作成しようとしています。コマンドgmcs gzip.cs
を使用すると、エラーメッセージが表示されます。gzip.csは、msdnからの同じソースです。
コンパイル時に参照を追加する必要があるようです。何が欠けていますか?
解決済み
.NET 4関数を使用するには、「gmcs」ではなく「dmcs」を使用する必要があります。
c# - C#でGZipStreamクラスを使用してサブディレクトリを持つディレクトリをGzip圧縮しますか?
このMSDNサイトには、ファイルをgzipで圧縮する例があります。次に、サブディレクトリを含むディレクトリ全体をgzipで圧縮するにはどうすればよいですか?
c# - 解凍の問題、GZipStream
gzip の解凍に問題があります。
デバッガーでは、count は常に 0 になります。どこに問題がありますか?
ありがとう。