bitUtils

package
v0.0.11 Latest Latest
Warning

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

Go to latest
Published: Jan 16, 2024 License: MIT Imports: 1 Imported by: 3

Documentation

Overview

Package bitUtils *

  • @Author: W.w.
  • @File: bit_writer
  • @Date: 2023-06-11 21:10
  • @Description:

Index

Constants

This section is empty.

Variables

View Source
var ErrBits = errors.New("bits error")

Functions

func GetBit16

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

func GetBit8

func GetBit8(v uint8, pos uint) uint8

GetBit8 *****************************************************

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

func GetBits16

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

func GetBits8

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

GetBits8 *****************************************************

  • @Description:
  • @param v
  • @param pos 取值范围 [0, 7],0表示最低位
  • @param n 取多少位, 取值范围 [1, 8]
  • @return uint8 *****************************************************

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)

ReadBits16 *****************************************************

  • @Description:
  • @receiver br
  • @param n 取值范围 [1, 16]
  • @return r
  • @return err *****************************************************

func (*BitReader) ReadBits32

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

ReadBits32 *****************************************************

  • @Description:
  • @receiver br
  • @param n 取值范围 [1, 32]
  • @return r
  • @return err *****************************************************

func (*BitReader) ReadBits64

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

ReadBits64 *****************************************************

  • @Description:
  • @receiver br
  • @param n 取值范围 [1, 64]
  • @return r
  • @return err *****************************************************

func (*BitReader) ReadBits8

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

ReadBits8 *****************************************************

  • @Description:
  • @receiver br
  • @param n 取值范围 [1, 8]
  • @return r
  • @return err *****************************************************

func (*BitReader) ReadBytes

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

ReadBytes *****************************************************

  • @Description:
  • @receiver br
  • @param n 读取多少个字节
  • @return r
  • @return err *****************************************************

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)

WriteBit *****************************************************

  • @Description:
  • @receiver bw
  • @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)

WriteBits8 *****************************************************

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

Jump to

Keyboard shortcuts

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