C#でobject [] []を圧縮する必要があります。私はGzipコンプレックスを使うことができます - バイト[]を解凍しますが、そのような場合にはどうすればいいですか?変換C#でObject [] []を圧縮するには
答えて
バイナリシリアル化を使用して、バイト配列に変換してからzipします。配列内のすべてのオブジェクトがシリアライズ可能な場合は、次の操作を実行できます。
object[][] objects = new[] {new[] {"a"}};
BinaryFormatter formatter = new BinaryFormatter();
using (MemoryStream memoryStream = new MemoryStream())
using (GZipStream gZipStream = new GZipStream(File.OpenWrite("C:\\zipped.zip"),
CompressionMode.Compress))
{
formatter.Serialize(gZipStream, objects);
}
//unzipping
using (GZipStream gZipStream = new GZipStream(File.OpenRead("C:\\zipped.zip"),
CompressionMode.Decompress))
{
objects = (object[][])formatter.Deserialize(gZipStream);
Console.WriteLine(objects[0][0]); //a
}
+1デシリアライズするプロセス[/ code]は? (完全のために) –
@pst done、私は制限が嫌いです –
ありがとうございます。まさに私が探していたもの。 – Cannon
- あなた
byte[]
- 圧縮に
object[][]
byte[]
ステップ1が難しい部分である、と彼らはbyte[]
秒に変換することができるように、すべてのオブジェクトは、直列化可能であることを必要とします。これはトリッキーです
理由はobject[]
の内容が実際にメモリ内の様々なobject
sのちょうどメモリ参照であり、それらのobject
sが同様に他のobject
Sへの参照を持つことができるということです。一部のユーザーは、割り当てられているI/Oポートなどの特定のシステムリソースを参照することもできます。このコンピュータはオブジェクトに同じリソースを与えていないので、このようなオブジェクトを別のコンピュータに送信するのは意味がありません。したがって、クラスがシリアル化され、バイトストリームに逆シリアル化されることが特に示されていない限り、それらを使って何もできません。
- 1. Cで#.zipに圧縮する方法
- 2. CまたはC++でのテキスト圧縮
- 3. C#でのマルチスレッド圧縮
- 4. C/C++パッキングと圧縮
- 5. FSharpでファイルを圧縮するには?
- 6. SevenZipSharpをマルチボリュームで圧縮するには?
- 7. zlibでバッファを圧縮するには?
- 8. アンドロイドでビデオを圧縮するには?
- 9. 組み込みの.net圧縮クラスでディレクトリを圧縮するには?
- 10. C#圧縮とJavaScript解凍
- 11. C++の単純な圧縮
- 12. C#パス圧縮の問題
- 13. スタティックLZMA圧縮ファイルをプログラムで圧縮解除する
- 14. セットトライを圧縮するアルゴリズム
- 15. tiff lzw圧縮はオリジナルのjpeg圧縮の10倍です
- 16. TIFファイルを圧縮する
- 17. 圧縮ヘッダーを設定し、圧縮してヘッダーを圧縮しますか?
- 18. HTTPリクエストを圧縮してメモリに圧縮されたバッファをロードせずに圧縮する方法
- 19. C#でバイト[]を圧縮(および解凍)する方法は?
- 20. リストデータを圧縮するC#WebサービスDelphiでスタンドアロンクライアントに送信
- 21. シンプルで高速なC++圧縮ライブラリ/クラス
- 22. IIS-Expressでの圧縮(特に動的圧縮)の有効化
- 23. データ圧縮と画像圧縮の差
- 24. 多くの異なる圧縮アルゴリズムをサポートするC++ビデオ圧縮ライブラリですか?
- 25. SharpZipLib:1つのファイルを1つの圧縮ファイルに圧縮する
- 26. Jammit圧縮は圧縮モードではなく、devモードで動作します。JS
- 27. http圧縮はviewstateも圧縮しますか?
- 28. LZWデータ圧縮
- 29. grpcでペイロード圧縮を行うには?
- 30. PCMを圧縮
配列にはどのような種類のオブジェクトがありますか?シリアライズできる場合は、シリアライズして、GZipで圧縮します。それらを直列化できない場合、圧縮を実行するための汎用的または標準的な方法はありません。 – driis
詳細を提供する必要があります。そのような方法の出力は何ですか?その配列にはどんな種類のオブジェクトがありますか?それらは値型か参照型、あるいはその両方ですか? – Joe