Documentation ¶
Overview ¶
Package gbinary provides useful API for handling binary/bytes data.
注意gbinary模块默认使用LittleEndian进行编码。
Index ¶
- func BeDecode(b []byte, values ...interface{}) error
- func BeDecodeToBool(b []byte) bool
- func BeDecodeToFloat32(b []byte) float32
- func BeDecodeToFloat64(b []byte) float64
- func BeDecodeToInt(b []byte) int
- func BeDecodeToInt16(b []byte) int16
- func BeDecodeToInt32(b []byte) int32
- func BeDecodeToInt64(b []byte) int64
- func BeDecodeToInt8(b []byte) int8
- func BeDecodeToString(b []byte) string
- func BeDecodeToUint(b []byte) uint
- func BeDecodeToUint16(b []byte) uint16
- func BeDecodeToUint32(b []byte) uint32
- func BeDecodeToUint64(b []byte) uint64
- func BeDecodeToUint8(b []byte) uint8
- func BeEncode(values ...interface{}) []byte
- func BeEncodeBool(b bool) []byte
- func BeEncodeByLength(length int, values ...interface{}) []byte
- func BeEncodeFloat32(f float32) []byte
- func BeEncodeFloat64(f float64) []byte
- func BeEncodeInt(i int) []byte
- func BeEncodeInt16(i int16) []byte
- func BeEncodeInt32(i int32) []byte
- func BeEncodeInt64(i int64) []byte
- func BeEncodeInt8(i int8) []byte
- func BeEncodeString(s string) []byte
- func BeEncodeUint(i uint) []byte
- func BeEncodeUint16(i uint16) []byte
- func BeEncodeUint32(i uint32) []byte
- func BeEncodeUint64(i uint64) []byte
- func BeEncodeUint8(i uint8) []byte
- func BeFillUpSize(b []byte, l int) []byte
- func Decode(b []byte, values ...interface{}) error
- func DecodeBits(bits []Bit) int
- func DecodeBitsToUint(bits []Bit) uint
- func DecodeToBool(b []byte) bool
- func DecodeToFloat32(b []byte) float32
- func DecodeToFloat64(b []byte) float64
- func DecodeToInt(b []byte) int
- func DecodeToInt16(b []byte) int16
- func DecodeToInt32(b []byte) int32
- func DecodeToInt64(b []byte) int64
- func DecodeToInt8(b []byte) int8
- func DecodeToString(b []byte) string
- func DecodeToUint(b []byte) uint
- func DecodeToUint16(b []byte) uint16
- func DecodeToUint32(b []byte) uint32
- func DecodeToUint64(b []byte) uint64
- func DecodeToUint8(b []byte) uint8
- func Encode(values ...interface{}) []byte
- func EncodeBitsToBytes(bits []Bit) []byte
- func EncodeBool(b bool) []byte
- func EncodeByLength(length int, values ...interface{}) []byte
- func EncodeFloat32(f float32) []byte
- func EncodeFloat64(f float64) []byte
- func EncodeInt(i int) []byte
- func EncodeInt16(i int16) []byte
- func EncodeInt32(i int32) []byte
- func EncodeInt64(i int64) []byte
- func EncodeInt8(i int8) []byte
- func EncodeString(s string) []byte
- func EncodeUint(i uint) []byte
- func EncodeUint16(i uint16) []byte
- func EncodeUint32(i uint32) []byte
- func EncodeUint64(i uint64) []byte
- func EncodeUint8(i uint8) []byte
- func LeDecode(b []byte, values ...interface{}) error
- func LeDecodeToBool(b []byte) bool
- func LeDecodeToFloat32(b []byte) float32
- func LeDecodeToFloat64(b []byte) float64
- func LeDecodeToInt(b []byte) int
- func LeDecodeToInt16(b []byte) int16
- func LeDecodeToInt32(b []byte) int32
- func LeDecodeToInt64(b []byte) int64
- func LeDecodeToInt8(b []byte) int8
- func LeDecodeToString(b []byte) string
- func LeDecodeToUint(b []byte) uint
- func LeDecodeToUint16(b []byte) uint16
- func LeDecodeToUint32(b []byte) uint32
- func LeDecodeToUint64(b []byte) uint64
- func LeDecodeToUint8(b []byte) uint8
- func LeEncode(values ...interface{}) []byte
- func LeEncodeBool(b bool) []byte
- func LeEncodeByLength(length int, values ...interface{}) []byte
- func LeEncodeFloat32(f float32) []byte
- func LeEncodeFloat64(f float64) []byte
- func LeEncodeInt(i int) []byte
- func LeEncodeInt16(i int16) []byte
- func LeEncodeInt32(i int32) []byte
- func LeEncodeInt64(i int64) []byte
- func LeEncodeInt8(i int8) []byte
- func LeEncodeString(s string) []byte
- func LeEncodeUint(i uint) []byte
- func LeEncodeUint16(i uint16) []byte
- func LeEncodeUint32(i uint32) []byte
- func LeEncodeUint64(i uint64) []byte
- func LeEncodeUint8(i uint8) []byte
- func LeFillUpSize(b []byte, l int) []byte
- type Bit
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BeDecode ¶
整形二进制解包,注意第二个及其后参数为字长确定的整形变量的指针地址,以便确定解析的[]byte长度, 例如:int8/16/32/64、uint8/16/32/64、float32/64等等
func BeDecodeToFloat32 ¶
func BeDecodeToFloat64 ¶
func BeDecodeToInt ¶
将二进制解析为int类型,根据[]byte的长度进行自动转换. 注意内部使用的是uint*,使用int会造成位丢失。
func BeDecodeToInt16 ¶
func BeDecodeToInt32 ¶
func BeDecodeToInt64 ¶
func BeDecodeToInt8 ¶
func BeDecodeToString ¶
func BeDecodeToUint16 ¶
func BeDecodeToUint32 ¶
func BeDecodeToUint64 ¶
func BeDecodeToUint8 ¶
func BeEncode ¶
func BeEncode(values ...interface{}) []byte
针对基本类型进行二进制打包,支持的基本数据类型包括: int/8/16/32/64、uint/8/16/32/64、float32/64、bool、string、[]byte。 其他未知类型使用 fmt.Sprintf("%v", value) 转换为字符串之后处理。
func BeEncodeBool ¶
func BeEncodeByLength ¶
将变量转换为二进制[]byte,并指定固定的[]byte长度返回,长度单位为字节(byte); 如果转换的二进制长度超过指定长度,那么进行截断处理
func BeEncodeFloat32 ¶
func BeEncodeFloat64 ¶
func BeEncodeInt16 ¶
func BeEncodeInt32 ¶
func BeEncodeInt64 ¶
func BeEncodeInt8 ¶
func BeEncodeString ¶
func BeEncodeUint16 ¶
func BeEncodeUint32 ¶
func BeEncodeUint64 ¶
func BeEncodeUint8 ¶
func BeFillUpSize ¶
当b位数不够时,进行低位补0。 注意这里为了不影响原有输入参数,是采用的值复制设计。
func DecodeToBool ¶
func DecodeToFloat32 ¶
func DecodeToFloat64 ¶
func DecodeToInt ¶
func DecodeToInt16 ¶
func DecodeToInt32 ¶
func DecodeToInt64 ¶
func DecodeToInt8 ¶
func DecodeToString ¶
func DecodeToUint ¶
func DecodeToUint16 ¶
func DecodeToUint32 ¶
func DecodeToUint64 ¶
func DecodeToUint8 ¶
func EncodeBitsToBytes ¶
将bits转换为[]byte,从左至右进行编码,不足1 byte按0往末尾补充
func EncodeBool ¶
func EncodeByLength ¶
func EncodeFloat32 ¶
func EncodeFloat64 ¶
func EncodeInt16 ¶
func EncodeInt32 ¶
func EncodeInt64 ¶
func EncodeInt8 ¶
func EncodeString ¶
func EncodeUint ¶
func EncodeUint16 ¶
func EncodeUint32 ¶
func EncodeUint64 ¶
func EncodeUint8 ¶
func LeDecode ¶
整形二进制解包,注意第二个及其后参数为字长确定的整形变量的指针地址,以便确定解析的[]byte长度, 例如:int8/16/32/64、uint8/16/32/64、float32/64等等
func LeDecodeToFloat32 ¶
func LeDecodeToFloat64 ¶
func LeDecodeToInt ¶
将二进制解析为int类型,根据[]byte的长度进行自动转换. 注意内部使用的是uint*,使用int会造成位丢失。
func LeDecodeToInt16 ¶
func LeDecodeToInt32 ¶
func LeDecodeToInt64 ¶
func LeDecodeToInt8 ¶
func LeDecodeToString ¶
func LeDecodeToUint16 ¶
func LeDecodeToUint32 ¶
func LeDecodeToUint64 ¶
func LeDecodeToUint8 ¶
func LeEncode ¶
func LeEncode(values ...interface{}) []byte
针对基本类型进行二进制打包,支持的基本数据类型包括: int/8/16/32/64、uint/8/16/32/64、float32/64、bool、string、[]byte。 其他未知类型使用 fmt.Sprintf("%v", value) 转换为字符串之后处理。
func LeEncodeBool ¶
func LeEncodeByLength ¶
将变量转换为二进制[]byte,并指定固定的[]byte长度返回,长度单位为字节(byte); 如果转换的二进制长度超过指定长度,那么进行截断处理
func LeEncodeFloat32 ¶
func LeEncodeFloat64 ¶
func LeEncodeInt16 ¶
func LeEncodeInt32 ¶
func LeEncodeInt64 ¶
func LeEncodeInt8 ¶
func LeEncodeString ¶
func LeEncodeUint16 ¶
func LeEncodeUint32 ¶
func LeEncodeUint64 ¶
func LeEncodeUint8 ¶
func LeFillUpSize ¶
当b位数不够时,进行高位补0。 注意这里为了不影响原有输入参数,是采用的值复制设计。