Golang使用zlib压缩和解压缩字符串
发布时间 - 2026-01-10 23:17:14 点击率:次在python的时候就习惯使用zlib进行网页压缩。 golang下同样使用zlib进行压缩解压缩。 zlib官方给出的方法很简单,这里权当一个补充.

zlib.NewWriter() 只能传递 []byte类型数据. NewWriterLevel 可以传递压缩的等级.
package main
import (
"bytes"
"compress/zlib"
"fmt"
"io"
)
func main() {
var in bytes.Buffer
b := []byte(`xiorui.cc`)
w := zlib.NewWriter(&in)
w.Write(b)
w.Close()
var out bytes.Buffer
r, _ := zlib.NewReader(&in)
io.Copy(&out, r)
fmt.Println(out.String())
}
库包地址
import "compress/zlib"
写入
func NewWriter func NewWriter(w io.Writer) *Writer
读取压缩的数据
func NewReader func NewReader(r io.Reader) (io.ReadCloser, error)
设置压缩等级,并压缩数据
func NewWriterLevel(w io.Writer, level int) (io.WriteCloser, os.Error)
下面是几个级别.
const (
NoCompression = 0
BestSpeed = 1
BestCompression = 9
DefaultCompression = -1
)
const (
NoCompression = flate.NoCompression
BestSpeed = flate.BestSpeed
BestCompression = flate.BestCompression
DefaultCompression = flate.DefaultCompression
)
写入数据
func (*Writer) Write func (z *Writer) Write(p []byte) (n int, err error)
关闭
func (*Writer) Close func (z *Writer) Close() error
Golang zlib压缩的效率和性能都还可以, 毕竟rsync也在用这个压缩算法。 其实zlib和gzip对比,貌似用gzip的多一点。 比如nginx的gzip压缩. 以前看过国外一个帖子,是说zlib比gzip更适合那种速度跟压缩效果均衡的场景。
# golang
# 解压缩zlib
# zlib
# zlib压缩
# Golang利用compress/flate包来压缩和解压数据
# golang压缩与解压缩文件的示例代码
# Golang使用archive/zip包实现ZIP压缩与解压
# Go实现自动解压缩包以及读取docx/doc文件内容详解
# go 压缩解压zip文件源码示例
# golang中tar压缩和解压文件详情
# MongoDB windows解压缩版安装教程详解
# Go语言压缩和解压缩tar.gz文件的方法
# Go语言中数据压缩与解压的实现
# 几个
# 也在
# 很简单
# 是说
# 都还
# 解压缩
# 更适合
# 国外
# fmt
# io
# compress
# import
# bytes
# func
# xiorui
# amp
# cc
# var
# Buffer
# Write
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
Laravel如何使用Telescope进行调试?(安装和使用教程)
Laravel如何为API生成Swagger或OpenAPI文档
如何快速使用云服务器搭建个人网站?
Laravel怎么调用外部API_Laravel Http Client客户端使用
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
JavaScript如何操作视频_媒体API怎么控制播放
SQL查询语句优化的实用方法总结
如何在宝塔面板中创建新站点?
如何利用DOS批处理实现定时关机操作详解
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
Laravel怎么实现验证码(Captcha)功能
韩国服务器如何优化跨境访问实现高效连接?
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
如何在Windows环境下新建FTP站点并设置权限?
Laravel如何优化应用性能?(缓存和优化命令)
javascript日期怎么处理_如何格式化输出
如何用西部建站助手快速创建专业网站?
微信小程序 HTTPS报错整理常见问题及解决方案
怎么用AI帮你设计一套个性化的手机App图标?
常州企业网站制作公司,全国继续教育网怎么登录?
Android利用动画实现背景逐渐变暗
微信小程序 闭包写法详细介绍
如何在万网开始建站?分步指南解析
Laravel如何与Inertia.js和Vue/React构建现代单页应用
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
香港服务器选型指南:免备案配置与高效建站方案解析
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
PythonWeb开发入门教程_Flask快速构建Web应用
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
如何挑选高效建站主机与优质域名?
Python并发异常传播_错误处理解析【教程】
如何获取上海专业网站定制建站电话?
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
使用豆包 AI 辅助进行简单网页 HTML 结构设计
EditPlus中的正则表达式 实战(1)
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Java类加载基本过程详细介绍
高端建站三要素:定制模板、企业官网与响应式设计优化
想要更高端的建设网站,这些原则一定要坚持!
Laravel如何集成Inertia.js与Vue/React?(安装配置)
javascript读取文本节点方法小结
青岛网站建设如何选择本地服务器?
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)

