GZip对字符串压缩和解压
/// <summary>
/// 压缩
/// </summary>
/// <param name="value">需要压缩字符串</param>
/// <returns>结果</returns>
public static string Compression(string value)
{
byte[] data = Encoding.UTF8.GetBytes(value);
using (MemoryStream ms = new MemoryStream())
{
using (GZipStream compressedzipStream = new GZipStream(ms, CompressionMode.Compress, true))
{
compressedzipStream.Write(data, , data.Length);
}
return Convert.ToBase64String(ms.ToArray());
}
} /// <summary>
/// 解压
/// </summary>
/// <param name="value">需要解压字符串</param>
/// <returns>结果</returns>
public static string Decompress(string value)
{
byte[] data = Convert.FromBase64String(value);
using (MemoryStream ms = new MemoryStream(data))
{
using (GZipStream compressedzipStream = new GZipStream(ms, CompressionMode.Decompress))
{
using (MemoryStream outBuffer = new MemoryStream())
{
byte[] block = new byte[];
int bytesRead = compressedzipStream.Read(block, , block.Length);
outBuffer.Write(block, , bytesRead);
return Encoding.UTF8.GetString(outBuffer.ToArray());
}
}
}
}
/// <summary>
/// 解压(数据量过大的时候解压)
/// </summary>
/// <param name="value">需要解压字符串</param>
/// <returns>结果</returns>
public static string Decompress(string value)
{
byte[] data = Convert.FromBase64String(value);
using (MemoryStream ms = new MemoryStream(data))
{
using (GZipStream compressedzipStream = new GZipStream(ms, CompressionMode.Decompress))
{
using (MemoryStream outBuffer = new MemoryStream())
{
byte[] block = new byte[];
int bytesRead;
do
{
bytesRead = compressedzipStream.Read(block, , block.Length);
outBuffer.Write(block, , bytesRead);
} while (bytesRead > );
return Encoding.UTF8.GetString(outBuffer.ToArray());
}
}
}
}
/// <summary>
/// 测试
/// </summary>
public static void TT()
{
var json = "{\"Key\":\"Value\"}";
var ys = Compression(json);
var jy = Decompress(ys);
}
GZip对字符串压缩和解压的更多相关文章
- C# 使用GZip对字符串压缩和解压
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- C# GZip对字符串压缩和解压
/// <summary> /// 压缩方法 /// </summary> public static string CompressString(string str) { ...
- Linux下的压缩和解压
1. gzip, bzip2 能否直接压缩目录呢?不可以 2. 请快速写出,使用gzip和bzip2压缩和解压一个文件的命令.压缩:gzip 1.txt bzip2 1.txt解压:gzip -d 1 ...
- 对数据进行GZIP压缩和解压
public class GzipUtils { /** * 对字符串进行gzip压缩 * @param data * @return * @throws IOException */ public ...
- C#实现通过Gzip来对数据进行压缩和解压
C#实现通过Gzip来对数据进行压缩和解压 internal static byte[] Compress(byte[] data) { using (var compressedStream = n ...
- VB6进行GZIP解压&C#进行GZIP压缩和解压
VB进行GZIP解压的,DLL是系统的,如果没有 [点击下载] Option Explicit 'GZIP API '----------------------------------------- ...
- 使用pako.js实现gzip的压缩和解压
poko.js可至Github下载:https://github.com/nodeca/pako 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
- Linux 时间日期类、搜索查找类、 压缩和解压类指令
l 时间日期类 date指令-显示当前日期 基本语法 1) date (功能描述:显示当前时间) 2) date +%Y (功能描述:显示当前年份) 3) date +%m (功能描述:显示当前月份) ...
- linux常用命令:4文件压缩和解压命令
文件压缩和解压命令 压缩命令:gzip.tar[-czf].zip.bzip2 解压缩命令:gunzip.tar[-xzf].unzip.bunzip2 1. 命令名称:gzip 命令英文原意:GNU ...
随机推荐
- sqlalchemy 多对多关系
# -*- coding: utf-8 -*- from sqlalchemy import Column, String, create_engine,ForeignKey,Text,Integer ...
- Mysql去掉html标签函数
函数 SET GLOBAL log_bin_trust_function_creators=; DROP FUNCTION IF EXISTS fnStripTags; DELIMITER | CRE ...
- mysql用户的增删与密码丢失问题
为root用户设置初始密码 mysqladmin -u root password 密码(单实例) mysqladmin -u root password 密码 -S /data/3306/mysql ...
- win10常见问题处理办法
1.当笔记本连接wifi时,提示,无internet,安全,而手机能正常连接wifi时: cmd(需管理员权限)执行命令 netsh winsock reset 出现已重置,重启电脑 解决方法 2.当 ...
- XX-net
环境:win10企业版 #停用“ip helper”服务 net stop "ip helper" #启用“ip helper”服务 net start "ip help ...
- 谈论linux同组多用户操作问题
同组多用户,最先起到什么作用这个我也是不明白的, 然后乱搞了一堆, 下面我做个笔记帮组日后分析. 一个用户组承载多个用户, 像这样 这是我原先的思路.然后就是chenglee用户和chenglee12 ...
- 一道cf水题再加两道紫薯题的感悟
. 遇到一个很大的数除以另一个数时,可以尝试把这个很大的数进行,素数因子分解. . 遇到多个数的乘积与另一个数的除法时,求是否能整除,可以先求每一个数与分母的最大公约数,最后若分母数字为1,则证明可整 ...
- C# asp:FileUpload上传文件使用JS实现预览效果
js代码: <script type="text/javascript"> //下面用于图片上传预览功能 function setImagePreview() { va ...
- Python3 tkinter基础 Entry get 点击按钮 将输入框中文字输出到控制台
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- ag 命令的帮助文档
安装 the silver searcher 在各大平台上都可以从软件库直接安装.除了 Debian/Ubuntu 外,其他系统使用的包名都是一样的. MacOS: brew install the_ ...