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#をストリームから圧縮して圧縮する
- 3. CまたはC++でのテキスト圧縮
- 4. CでPDFを圧縮する
- 5. C#で文字列を圧縮し、Javascriptで圧縮解除する
- 6. Objective CでのGRPC圧縮
- 7. C#でのマルチスレッド圧縮
- 8. C/C++パッキングと圧縮
- 9. アンドロイドでビデオを圧縮するには?
- 10. SevenZipSharpをマルチボリュームで圧縮するには?
- 11. zlibでバッファを圧縮するには?
- 12. FSharpでファイルを圧縮するには?
- 13. ARMボードのC++によるZip圧縮
- 14. C#パス圧縮の問題
- 15. C++の単純な圧縮
- 16. C#圧縮とJavaScript解凍
- 17. Gzip(圧縮)で圧縮率の高いファイルを作成するには?
- 18. 組み込みの.net圧縮クラスでディレクトリを圧縮するには?
- 19. 最終日に修正されたファイルを圧縮/圧縮する
- 20. 既存の圧縮ヘッダーでテキスト文字列を圧縮する
- 21. スタティックLZMA圧縮ファイルをプログラムで圧縮解除する
- 22. セットトライを圧縮するアルゴリズム
- 23. tiff lzw圧縮はオリジナルのjpeg圧縮の10倍です
- 24. Prawn PDF圧縮、コンテンツストリームを圧縮する、何をする
- 25. TIFファイルを圧縮する
- 26. ビットマップを圧縮せずに圧縮したビットマップ
- 27. LZ4:圧縮画像フォーマットの圧縮
- 28. C#のコードでファイルを圧縮する方法は?
- 29. C#でバイト[]を圧縮(および解凍)する方法は?
- 30. 圧縮ヘッダーを設定し、圧縮してヘッダーを圧縮しますか?
配列にはどのような種類のオブジェクトがありますか?シリアライズできる場合は、シリアライズして、GZipで圧縮します。それらを直列化できない場合、圧縮を実行するための汎用的または標準的な方法はありません。 – driis
詳細を提供する必要があります。そのような方法の出力は何ですか?その配列にはどんな種類のオブジェクトがありますか?それらは値型か参照型、あるいはその両方ですか? – Joe