gbinary

package
v0.0.0-...-3631402 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2018 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

二进制及byte操作

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Decode

func Decode(b []byte, vs ...interface{}) error

整形二进制解包,注意第二个及其后参数为字长确定的整形变量的指针地址,以便确定解析的[]byte长度, 例如:int8/16/32/64、uint8/16/32/64、float32/64等等

func DecodeBits

func DecodeBits(bits []Bit) int

解析为int

func DecodeBitsToUint

func DecodeBitsToUint(bits []Bit) uint

解析为uint

func DecodeToBool

func DecodeToBool(b []byte) bool

将二进制解析为bool类型,识别标准是判断二进制中数值是否都为0,或者为空

func DecodeToFloat32

func DecodeToFloat32(b []byte) float32

func DecodeToFloat64

func DecodeToFloat64(b []byte) float64

func DecodeToInt

func DecodeToInt(b []byte) int

将二进制解析为int类型,根据[]byte的长度进行自动转换

func DecodeToInt16

func DecodeToInt16(b []byte) int16

func DecodeToInt32

func DecodeToInt32(b []byte) int32

func DecodeToInt64

func DecodeToInt64(b []byte) int64

func DecodeToInt8

func DecodeToInt8(b []byte) int8

func DecodeToString

func DecodeToString(b []byte) string

func DecodeToUint

func DecodeToUint(b []byte) uint

将二进制解析为uint类型,根据[]byte的长度进行自动转换

func DecodeToUint16

func DecodeToUint16(b []byte) uint16

func DecodeToUint32

func DecodeToUint32(b []byte) uint32

func DecodeToUint64

func DecodeToUint64(b []byte) uint64

func DecodeToUint8

func DecodeToUint8(b []byte) uint8

func Encode

func Encode(vs ...interface{}) []byte

针对基本类型进行二进制打包,支持的基本数据类型包括:int/8/16/32/64、uint/8/16/32/64、float32/64、bool、string、[]byte 其他未知类型使用 fmt.Sprintf("%v", value) 转换为字符串之后处理

func EncodeBitsToBytes

func EncodeBitsToBytes(bits []Bit) []byte

将bits转换为[]byte,从左至右进行编码,不足1 byte按0往末尾补充

func EncodeBool

func EncodeBool(b bool) []byte

func EncodeByLength

func EncodeByLength(length int, vs ...interface{}) []byte

将变量转换为二进制[]byte,并指定固定的[]byte长度返回,长度单位为字节(byte); 如果转换的二进制长度超过指定长度,那么进行截断处理

func EncodeFloat32

func EncodeFloat32(f float32) []byte

func EncodeFloat64

func EncodeFloat64(f float64) []byte

func EncodeInt

func EncodeInt(i int) []byte

自动识别int类型长度,转换为[]byte

func EncodeInt16

func EncodeInt16(i int16) []byte

func EncodeInt32

func EncodeInt32(i int32) []byte

func EncodeInt64

func EncodeInt64(i int64) []byte

func EncodeInt8

func EncodeInt8(i int8) []byte

func EncodeString

func EncodeString(s string) []byte

func EncodeUint

func EncodeUint(i uint) []byte

自动识别uint类型长度,转换为[]byte

func EncodeUint16

func EncodeUint16(i uint16) []byte

func EncodeUint32

func EncodeUint32(i uint32) []byte

func EncodeUint64

func EncodeUint64(i uint64) []byte

func EncodeUint8

func EncodeUint8(i uint8) []byte

Types

type Bit

type Bit int8

二进制位(0|1)

func DecodeBytesToBits

func DecodeBytesToBits(bs []byte) []Bit

解析[]byte为字位数组[]uint8

func EncodeBits

func EncodeBits(bits []Bit, i int, l int) []Bit

默认编码

func EncodeBitsWithUint

func EncodeBitsWithUint(bits []Bit, ui uint, l int) []Bit

将ui按位合并到bits数组中,并占length长度位(注意:uis数组中存放的是二进制的0|1数字)

Jump to

Keyboard shortcuts

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