nazabits

package
v0.20.2 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2021 License: MIT Imports: 1 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNazaBits = errors.New("nazabits: fxxk")

Functions

func GetBit16

func GetBit16(v []byte, pos uint) uint8

func GetBit8

func GetBit8(v uint8, pos uint) uint8

@param pos: 取值范围 [0, 7],0表示最低位 @return: [0, 1]

func GetBits16

func GetBits16(v []byte, pos uint, n uint) uint16

func GetBits8

func GetBits8(v uint8, pos uint, n uint) uint8

@param pos: 取值范围 [0, 7],0表示最低位 @param n: 取多少位, 取值范围 [1, 8]

举例,GetBits8(105, 2, 4) = 10(即1010)

v: 0110 1001

pos: 2

n:   .. ..

Types

type BitReader

type BitReader struct {
	// contains filtered or unexported fields
}

按位流式读取字节切片 从高位向低位读 注意,可以在每次读取后,判断是否发生错误。也可以在多次读取后,判断是否发生错误。

func NewBitReader

func NewBitReader(b []byte) BitReader

func (*BitReader) AvailBits

func (br *BitReader) AvailBits() (uint, error)

返回可读bit数量

func (*BitReader) Err

func (br *BitReader) Err() error

func (*BitReader) ReadBit

func (br *BitReader) ReadBit() (uint8, error)

func (*BitReader) ReadBits16

func (br *BitReader) ReadBits16(n uint) (r uint16, err error)

@param n: 取值范围 [1, 16]

func (*BitReader) ReadBits32

func (br *BitReader) ReadBits32(n uint) (r uint32, err error)

@param n: 取值范围 [1, 32]

func (*BitReader) ReadBits64

func (br *BitReader) ReadBits64(n uint) (r uint64, err error)

@param n: 取值范围 [1, 64]

func (*BitReader) ReadBits8

func (br *BitReader) ReadBits8(n uint) (r uint8, err error)

@param n: 取值范围 [1, 8]

func (*BitReader) ReadBytes

func (br *BitReader) ReadBytes(n uint) (r []byte, err error)

@param n: 读取多少个字节

func (*BitReader) ReadGolomb

func (br *BitReader) ReadGolomb() (v uint32, err error)

func (*BitReader) ReadSeGolomb

func (br *BitReader) ReadSeGolomb() (v int32, err error)

ReadSeGolomb 哥伦布编码,有符号

func (*BitReader) ReadUeGolomb

func (br *BitReader) ReadUeGolomb() (v uint32, err error)

ReadUeGolomb 0阶指数哥伦布编码,无符号

func (*BitReader) SkipBits

func (br *BitReader) SkipBits(n uint) error

func (*BitReader) SkipBytes

func (br *BitReader) SkipBytes(n uint) error

type BitWriter

type BitWriter struct {
	// contains filtered or unexported fields
}

func NewBitWriter

func NewBitWriter(b []byte) BitWriter

func (*BitWriter) WriteBit

func (bw *BitWriter) WriteBit(b uint8)

@param b: 当b不为0和1时,取b的最低位

func (*BitWriter) WriteBits16

func (bw *BitWriter) WriteBits16(n uint, v uint16)

func (*BitWriter) WriteBits8

func (bw *BitWriter) WriteBits8(n uint, v uint8)

将<v>的低<n>位写入 @param n: 取值范围 [1, 8]

Jump to

Keyboard shortcuts

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