Tag: 解压缩

字符串压缩/解压缩要通过网络发送的数据

我在C#中寻找一个字符串压缩方法,在将其写入网络套接字之前,我可以在数据字符串上运行它? 我对任何类型的压缩都相当新,因此我在这里寻找一些建议/指导。 为什么? 这在运行在服务器上的应用程序中是必需的,该服务器不断地将消息发送到我们的另一个服务器,但是托管应用程序的服务器按照使用的数据计费,这是相当昂贵的。 移动主机不是一种选择。 所以我需要一个算法/库,它可以通过文件(cpu wise)压缩我们发送的sting消息。 我愿意牺牲一些CPU使用来减少网络上的数据。 我不确定会有什么类型的压缩比,我认为这取决于您发送的字符串消息的类型及其长度。 我正在寻找相当短的字符串,平均从100个字符到256个字符。 奇怪的是长约900个字符。 示例字符串: žŸKO9404ŸMR4ŸTT8DB3CŸTM08:50:26.253ŸDIVFSV09 这是一个较长的例子: žŸAC15019ŸCI1602ŸSC7ŸZN001ŸPN01ŸFT7F55ŸCLSGKNetworkŸTP1ŸMR0ŸTT9733EŸIDGPAM01;GPAM02;GPAM03;GPAM05;GPAM04;GPAM06;GPAM07;GPAM08;GPAM09;GPAM10;GPAM02;GPAM03;GPAM04;GPAM05;GPAM06;GPAM07;GPAM08;GPAM09;GPAM10;GPAM01ŸTM09:01:08.858;09:01:09.066;09:01:09.043;09:01:09.044;09:01:09.066;09:01:09.066;09:01:09.065;09:01:09.068;09:01:09.067;09:01:09.067;09:01:50.395;09:01:50.386;09:01:50.386;09:01:50.386;09:01:50.396;09:01:50.384;09:01:50.385;09:01:50.386;09:01:50.386;09:01:50.384ŸTG584C;584C;584C;584C;584C;584C;584C;584C;584C;584C;589F;589F;589F;589F;589F;589F;589F;589F;589F;589F 所以我正在寻找一种解决方案,我可以在发送服务器上压缩,然后在接收服务器上解压缩。 什么是我最好的解决方案?

如何在流中使用ICSharpCode.ZipLib?

我对保守的头衔和我的问题本身感到非常抱歉,但我迷路了。 ICsharpCode.ZipLib提供的示例不包括我正在搜​​索的内容。 我想通过将其放入InflaterInputStream(ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream)来解压缩byte [] 我找到了解压缩function,但它不起作用。 public static byte[] Decompress(byte[] Bytes) { ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream stream = new ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream(new MemoryStream(Bytes)); MemoryStream memory = new MemoryStream(); byte[] writeData = new byte[4096]; int size; while (true) { size = stream.Read(writeData, 0, writeData.Length); if (size > 0) { memory.Write(writeData, 0, size); } else break; } stream.Close(); return memory.ToArray(); } 它在行引发exception(size = […]

有没有办法知道byte 是否已被gzipstream压缩?

有没有办法知道字节[]是否已被GzipStream .net类压缩(或不压缩)? 编辑:只想知道byte []数组是否已被压缩(因为我将始终使用GzipStream进行压缩和解压缩)

使用Ionic.Zip dll在SSIS中解压缩受密码保护的文件

我要求解压缩包含zip文件中受密码保护的文本文件的文件。必须在SSIS包中完成。 我用google搜索并下载了一个名为Ionic.Zip的dll,用于脚本任务。 我在脚本任务中使用了c#以下代码。 using Ionic.Zip; public void Main() { Dts.TaskResult = (int)ScriptResults.Success; start obj= new start(); obj.decrypt(); } public class start { public void decrypt() { string sfilepath =”E:\\shekar\\CIF_Files\\USAGE.zip”; ZipFile fileToExtract = new ZipFile(sfilepath); fileToExtract.Password = “ftp122”; fileToExtract.ExtractAll(“E:\\shekar\\CIF_Files”); } } 但我得到一个exception消息,如下所示 我有很多谷歌。 但找不到正确的解决方案。 有没有人certificate我回答

如何在C#中压缩(和解压缩)byte ?

如何在C#中压缩(和解压缩)一个字节数组? 在少于100个元素的字节数组上使用zip / unzip是否有效?

如何在Windows Phone 8中解压缩文件

是否可以在Windows Phone 8上的应用程序中解压缩文件? 大多数lib使用Windows Phone 7但不使用Windows Phone 8。 甚至System.IO.Compression.ZipFile也不存在……

从字节数组中创建新的FileStream

我试图从字节数组创建一个新的FileStream对象。 我确信根本没有任何意义,所以我将在下面进一步详细解释。 我正在完成的任务:1)读取先前压缩的源文件2)使用GZipStream解压缩数据3)将解压缩的数据复制到字节数组中。 我想改变什么: 1)我希望能够使用File.ReadAllBytes来读取解压缩的数据。 2)然后我想使用这个字节数组创建一个新的文件流对象。 简而言之,我想使用字节数组完成整个操作。 GZipStream的一个参数是某种类型的流,所以我想我使用了一个文件流。 但是,如果存在一些方法,我可以从字节数组创建一个新的FileStream实例 – 那么我应该没问题。 这是我到目前为止: FolderBrowserDialog fbd = new FolderBrowserDialog(); // Shows a browser dialog fbd.ShowDialog(); // Path to directory of files to compress and decompress. string dirpath = fbd.SelectedPath; DirectoryInfo di = new DirectoryInfo(dirpath); foreach (FileInfo fi in di.GetFiles()) { zip.Program.Decompress(fi); } // Get the stream of […]

使用7z.exe在c#中解压缩文件

我正在尝试从winform应用程序解压缩文件。 我正在使用此代码: string dezarhiverPath = @AppDomain.CurrentDomain.BaseDirectory + “\\7z.exe”; ProcessStartInfo pro = new ProcessStartInfo(); pro.WindowStyle = ProcessWindowStyle.Hidden; pro.FileName = dezarhiverPath; pro.Arguments = @” ec:\TEST.ZIP”; Process x = Process.Start(pro); x.WaitForExit(); 代码不会返回错误但不会返回任何错误。 我也从cmd尝试过这个命令: K:\>”C:\Test\7z.exe” e “c:\TEST.ZIP” 但在cmd中,我收到此错误消息: 7-Zip cannot find the code that works with archives. 有人可以帮我从c#解压缩一些文件吗? 谢谢!

如何使用C#4.0从文件夹解压缩所有.Zip文件,而不使用任何OpenSource Dll?

我有一个包含.ZIP文件的文件夹。 现在,我想使用C#将ZIP文件解压缩到特定文件夹,但不使用任何外部程序集或.Net Framework 4.5。 我搜索过,但没有找到任何使用Framework 4.0或更低版本解压缩* .zip文件的解决方案。 我尝试过GZipStream,但它只支持.gz而不支持.zip文件。

C#中的德语字母和编码

我有一个解压缩function,我使用System.Text.Encoding来确保提取后的文件在提取后保持相同的名称,因为我解压缩的文件通常包含德语字母。 我尝试了不同的东西,比如Encoding.Default或Encoding.UTF8但没有任何作用äÄéöÖüß.txt被转换为„Ž‚”™á.txt或者在默认情况下它是黑盒子:/ 有什么建议? using (ZipArchive archive = System.IO.Compression.ZipFile.Open(ZipFile, ZipArchiveMode.Read, System.Text.Encoding.Default)) { foreach (ZipArchiveEntry entry in archive.Entries) { string fullPath = Path.Combine(appPath, entry.FullName); if (String.IsNullOrEmpty(entry.Name)) { Directory.CreateDirectory(fullPath); } else { if (!entry.Name.Equals(“Updater.exe”)) { entry.ExtractToFile(fullPath,true); } } } }