compress

package
v0.0.0-...-c1d89c2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 5, 2023 License: BSD-3-Clause Imports: 4 Imported by: 0

README

压缩算法实现

已支持:

  1. gzip
  2. hufuman
  3. zlib
  4. none

Documentation

Index

Constants

This section is empty.

Variables

Functions

func RegisterCompressor

func RegisterCompressor(t CompressType, c Compressor)

自定义注册编码方案

func UnRegisterCodec

func UnRegisterCodec(t CompressType, c Compressor)

Types

type CompressType

type CompressType byte
const (
	None CompressType = iota
	Gzip
	Zlib
	Huffman
)

type Compressor

type Compressor interface {
	Pack(data []byte) (res []byte, err error)
	UnPack(data []byte) (res []byte, err error)
}

type GzipCompressor

type GzipCompressor struct {
}

Gzip 压缩算法

func (*GzipCompressor) Pack

func (c *GzipCompressor) Pack(data []byte) (res []byte, err error)

func (*GzipCompressor) UnPack

func (c *GzipCompressor) UnPack(data []byte) (res []byte, err error)

type HuffmanCompressor

type HuffmanCompressor struct {
}

huffman 压缩算法

func (*HuffmanCompressor) Pack

func (c *HuffmanCompressor) Pack(data []byte) ([]byte, error)

func (*HuffmanCompressor) UnPack

func (c *HuffmanCompressor) UnPack(data []byte) ([]byte, error)

type RawCompressor

type RawCompressor struct {
}

不处理

func (*RawCompressor) Pack

func (c *RawCompressor) Pack(data []byte) ([]byte, error)

func (*RawCompressor) UnPack

func (c *RawCompressor) UnPack(data []byte) ([]byte, error)

type ZlipCompressor

type ZlipCompressor struct {
}

zlip 压缩算法

func (*ZlipCompressor) Pack

func (c *ZlipCompressor) Pack(data []byte) (res []byte, err error)

func (*ZlipCompressor) UnPack

func (c *ZlipCompressor) UnPack(data []byte) (res []byte, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL