1. 程式人生 > >字串壓縮解壓縮

字串壓縮解壓縮

文字解壓壓縮

using System;
using System.IO;
using System.IO.Compression;
using System.Text;

namespace MT.Framework
{
    /// <summary>
    /// 壓縮解壓
    /// </summary>
    public class CompressDecompress
    {
        /// <summary>
        /// 壓縮
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static byte[] Compress(byte[] data)
        {
            try
            {
                var ms = new MemoryStream();
                var zip = new GZipStream(ms, CompressionMode.Compress, true);
                zip.Write(data, 0, data.Length);
                zip.Close();
                var buffer = new byte[ms.Length];
                ms.Position = 0;
                ms.Read(buffer, 0, buffer.Length);
                ms.Close();
                return buffer;

            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }

        /// <summary>
        /// 解壓縮
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public static byte[] Decompress(byte[] data)
        {
            try
            {
                var ms = new MemoryStream(data);
                var zip = new GZipStream(ms, CompressionMode.Decompress, true);
                var msreader = new MemoryStream();
                var buffer = new byte[0x1000];
                while (true)
                {
                    int reader = zip.Read(buffer, 0, buffer.Length);
                    if (reader <= 0)
                    {
                        break;
                    }
                    msreader.Write(buffer, 0, reader);
                }
                zip.Close();
                ms.Close();
                msreader.Position = 0;
                buffer = msreader.ToArray();
                msreader.Close();
                return buffer;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
        /// <summary>
        /// 壓縮字串
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string CompressString(string str)
        {
            if (string.IsNullOrEmpty(str))
            {
                return null;
            }
            string compressString = "";
            byte[] compressBeforeByte = Encoding.GetEncoding("UTF-8").GetBytes(str);
            byte[] compressAfterByte = Compress(compressBeforeByte);
            //compressString = Encoding.GetEncoding("UTF-8").GetString(compressAfterByte);  
            compressString = Convert.ToBase64String(compressAfterByte);
            return compressString;
        }
        /// <summary>
        /// 解壓成字串
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string DecompressString(string str)
        {
            if (string.IsNullOrEmpty(str))
            {
                return null;
            }
            string compressString = "";
            //byte[] compressBeforeByte = Encoding.GetEncoding("UTF-8").GetBytes(str);  
            byte[] compressBeforeByte = Convert.FromBase64String(str);
            byte[] compressAfterByte = Decompress(compressBeforeByte);
            compressString = Encoding.GetEncoding("UTF-8").GetString(compressAfterByte);
            return compressString;
        }
    }
}


相關推薦

gzip工具類 支援字串壓縮壓縮

import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream;

JAVA字串的GZIP壓縮壓縮方法

package com.gzip; import java.io.ByteArrayInputStream;    import java.io.ByteArrayOutputStream;    import java.io.IOException;    import java.util.zip.G

字串壓縮壓縮

文字解壓壓縮 using System; using System.IO; using System.IO.Compression; using System.Text; namespace MT.Framework { /// <summary>

bzip2壓縮 壓縮

http 文件 必須 cnblogs logs blog png .com 分享 壓縮/解壓縮壓縮/解壓縮之後的文件名稱 必須是bz2 首先是 -z 壓縮文件-d 解壓縮! bzip2壓縮 解壓縮

gzip壓縮壓縮

image log ges img .cn com -1 ima 分享 壓縮/解壓縮壓縮/解壓縮之後的文件名稱 必須是gz 解壓縮 gzip壓縮解壓縮

Linux下的tar壓縮壓縮命令詳

命令 .tar.gz 需要 logo 意思 追加 lin 產生 ron tar -c: 建立壓縮檔案-x:解壓-t:查看內容-r:向壓縮歸檔文件末尾追加文件-u:更新原壓縮包中的文件 這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只

[轉][C#]壓縮壓縮類 GZipStream

public sin spa eve tput doc col bsp ext 本文來自:https://msdn.microsoft.com/zh-cn/library/system.io.compression.gzipstream(v=vs.100).aspx us

Linux壓縮壓縮(unzip,tar)

哪些 family top -s dir 處理 根目錄 cti font unzip tar 常用解壓縮命令: tar -zxvpf:解壓縮 tar -zcvpf: 壓縮

AntZipUtils【基於Ant的Zip壓縮壓縮工具類】

odi lose 子目錄 https unzip jar包下載 eno details ++ 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 前言 Android 壓縮解壓zip文件一般分為兩種方式: 基於JDK的Zip壓縮工具類   該版本存在問題:

Qt之zip壓縮/壓縮(QuaZIP)

com spm c++ ews pen 更多 pri cat markdown 摘要: 簡述 QuaZIP是使用Qt/C++對ZLIB進行簡單封裝的用於壓縮及解壓縮ZIP的開源庫。適用於多種平臺,利用它可以很方便的將單個或多個文件打包為zip文件,且打包後的zip文件可

+++++++btrfs、壓縮/壓縮和編程之if和for總結

linuxbtrfsfilesystem device balance subvolume創建、掛載、子卷的掛載、創建、向btrfs中添加或移除設備、重新均衡數據<btrfs系統不支持,網上摘錄,以後再修改....>1、父卷可直接格式化、掛載及同LVM邏輯卷一樣可以動態的擴展和縮減2、原生RAID

如何在Win10裏使用命令行來壓縮/壓縮文件

歸檔 顯示 blog 公眾 成功 寶寶 簡單 公眾號 zip 如果你的電腦的硬盤空間十分有限,那麽這篇文章應該對你有用。在這篇文章中,我們將討論如何為文件或者文件夾啟用文件壓縮。和ZIP文件壓縮或者RAR文件壓縮相比,使用這種方式,你無需創建歸檔文件,壓縮後的文件也將可以像

9、壓縮/壓縮及任務計劃介紹

壓縮、解壓縮、歸檔1、壓縮比: 壓縮前和壓縮後的大小體積比例2、壓縮目的: 時間換空間,用cpu的時間換磁盤的空間;如何選擇壓縮,要衡量是節省cpu時間還是節省硬盤空間。3、linux壓縮、解壓縮工具,及歸檔工具:序號壓縮工具解壓縮工具不解壓查看內容後綴備註1compressuncompress.

java壓縮/壓縮zip格式文件

空字符 log file ++ tel create equals sep 同名 1package com.resoft.util; 3import java.io.BufferedOutputStream; 4import java.io.File; 5import ja

Linux下的壓縮壓縮命令詳及實例

tar命令 壓縮解壓 建立 存在 sdi 創建 指定 處理 解壓縮 實例:壓縮當前目錄的內容為xxx.zip文件 zip -r xxx.zip ./* 解壓zip文件到當前目錄 unzip filename.zip ======================

壓縮壓縮 和 打包打包 命令

tar.bz2 過濾 -o tar yum exc 級別 log com 常見壓縮文件Windows .rar .zip .7zLinux .zip .gz .bz2 .xz .tar .bz2 .tar .xz gzip 壓縮工具 gzip 4

linux壓縮(壓縮)命令詳

bz2 tar.bz2 通過 取代 例如 哪些 傳輸 文件和目錄 想要 一.tar命令 tar可以為文件和目錄創建檔案。利用tar,用戶可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar 最初被用來在磁帶上創

linux基本命令[文件壓縮壓縮]

gun 基本 壓縮包 unzip lin fff 選項 post AC 常用的壓縮格式.zip .gz .bz2 常用的壓縮格式 .tar.gz .tar.bz2 zip 壓縮文件名 源文件 #壓縮文件 zip -r 壓縮文件名 源目錄 #壓縮目錄 unzip 壓

linux之壓縮壓縮命令介紹

linux基礎知識.zip是linux和windows通用的壓縮文件類型語法:zip [選項] [壓縮文件][源文件]實例:[root@www yang]# zip install.log.zip install.logadding: install.log (deflated 9%)unzip解壓縮.zip

tar壓縮壓縮命令詳

ash 並且 str tar命令 追加 spa gun 壓縮歸檔 yar tar命令詳解 -c: 建立壓縮檔案 -x:解壓 -t:查看內容 -r:向壓縮歸檔文件末尾追加文件 -u:更新原壓縮包中的文件 這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的