Documentation
¶
Overview ¶
Package gbinary 提供了基本类型和字节切片之间的编码和解码功能。
Package gbinary 提供了基本类型和字节切片之间的编码和解码功能。
Package gbinary 提供了二进制数据处理功能。
Package gbinary 提供了基本类型和字节切片之间的编码和解码功能。 支持大端序和小端序两种字节序,提供了对整数、浮点数、布尔值、字符串等基本类型的编解码操作。 此外还包含了对二进制位操作的实验性功能。
基本用法:
// 编码示例
bytes := gbinary.Encode(123, "hello", true)
// 解码示例
var (
num int
str string
boo bool
)
err := gbinary.Decode(bytes, &num, &str, &boo)
Package gbinary 提供了基本类型和字节切片之间的编码和解码功能。
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 BeDecodeToBool ¶
BeDecodeToBool 将字节切片解码为布尔值。 如果切片为空或全为零值,返回false,否则返回true。
func BeDecodeToFloat32 ¶
BeDecodeToFloat32 将大端序字节切片解码为float32类型的浮点数。
func BeDecodeToFloat64 ¶
BeDecodeToFloat64 将大端序字节切片解码为float64类型的浮点数。
func BeDecodeToInt ¶
BeDecodeToInt 将字节切片解码为int类型的整数。 根据字节切片的长度自动选择合适的解码方式。
func BeDecodeToInt8 ¶
BeDecodeToInt8 将字节切片解码为int8类型的整数。 如果输入切片为空,将会panic。
func BeDecodeToUint ¶
BeDecodeToUint 将字节切片解码为uint类型的无符号整数。 根据字节切片的长度自动选择合适的解码方式。
func BeDecodeToUint16 ¶
BeDecodeToUint16 将大端序字节切片解码为uint16类型的无符号整数。
func BeDecodeToUint32 ¶
BeDecodeToUint32 将大端序字节切片解码为uint32类型的无符号整数。
func BeDecodeToUint64 ¶
BeDecodeToUint64 将大端序字节切片解码为uint64类型的无符号整数。
func BeDecodeToUint8 ¶
BeDecodeToUint8 将字节切片解码为uint8类型的无符号整数。 如果输入切片为空,将会panic。
func BeEncode ¶
func BeEncode(values ...interface{}) []byte
BeEncode 使用大端序将一个或多个值编码为字节切片。 通过类型断言检查values中每个值的类型,并调用相应的转换函数进行字节转换。 支持常见变量类型的断言,对于不支持的类型,使用fmt.Sprintf将值转换为字符串后再转换为字节。
func BeEncodeBool ¶
BeEncodeBool 将布尔值编码为字节切片。 true编码为[1],false编码为[0]。
func BeEncodeByLength ¶
BeEncodeByLength 使用大端序将值编码为指定长度的字节切片。 如果编码结果长度小于指定长度,则在末尾补零;如果大于指定长度,则截断。
func BeEncodeFloat32 ¶
BeEncodeFloat32 将float32类型的浮点数编码为大端序字节切片。
func BeEncodeFloat64 ¶
BeEncodeFloat64 将float64类型的浮点数编码为大端序字节切片。
func BeEncodeInt ¶
BeEncodeInt 将int类型的整数编码为字节切片。 根据整数大小自动选择合适的字节长度进行编码。
func BeEncodeUint ¶
BeEncodeUint 将uint类型的无符号整数编码为字节切片。 根据整数大小自动选择合适的字节长度进行编码。
func BeEncodeUint16 ¶
BeEncodeUint16 将uint16类型的无符号整数编码为大端序字节切片。
func BeEncodeUint32 ¶
BeEncodeUint32 将uint32类型的无符号整数编码为大端序字节切片。
func BeEncodeUint64 ¶
BeEncodeUint64 将uint64类型的无符号整数编码为大端序字节切片。
func BeFillUpSize ¶
BeFillUpSize 使用大端序将字节切片b填充到指定长度l。 注意:该函数会创建一个新的字节切片并复制原始数据,以避免修改原始参数。
func DecodeToFloat32 ¶
DecodeToFloat32 将字节切片解码为float32类型的浮点数。 使用小端序解码。
func DecodeToFloat64 ¶
DecodeToFloat64 将字节切片解码为float64类型的浮点数。 使用小端序解码。
func DecodeToUint16 ¶
DecodeToUint16 将字节切片解码为uint16类型的无符号整数。 使用小端序解码。
func DecodeToUint32 ¶
DecodeToUint32 将字节切片解码为uint32类型的无符号整数。 使用小端序解码。
func DecodeToUint64 ¶
DecodeToUint64 将字节切片解码为uint64类型的无符号整数。 使用小端序解码。
func DecodeToUint8 ¶
DecodeToUint8 将字节切片解码为uint8类型的无符号整数。 使用小端序解码。
func EncodeBitsToBytes ¶
EncodeBitsToBytes 将二进制位数组编码为字节切片。 从左到右编码,如果位数不足8的倍数,末尾补0。
func EncodeByLength ¶
EncodeByLength 将指定数量的值编码为字节切片。 返回的字节切片长度由参数length指定。使用小端序编码。
func EncodeFloat32 ¶
EncodeFloat32 将float32类型的浮点数编码为字节切片。 使用小端序编码。
func EncodeFloat64 ¶
EncodeFloat64 将float64类型的浮点数编码为字节切片。 使用小端序编码。
func EncodeUint16 ¶
EncodeUint16 将uint16类型的无符号整数编码为字节切片。 使用小端序编码。
func EncodeUint32 ¶
EncodeUint32 将uint32类型的无符号整数编码为字节切片。 使用小端序编码。
func EncodeUint64 ¶
EncodeUint64 将uint64类型的无符号整数编码为字节切片。 使用小端序编码。
func LeDecodeToBool ¶
LeDecodeToBool 将字节切片解码为布尔值。 如果切片为空或全为零值,返回false,否则返回true。
func LeDecodeToFloat32 ¶
LeDecodeToFloat32 将小端序字节切片解码为float32类型的浮点数。
func LeDecodeToFloat64 ¶
LeDecodeToFloat64 将小端序字节切片解码为float64类型的浮点数。
func LeDecodeToInt ¶
LeDecodeToInt 将字节切片解码为int类型的整数。 根据字节切片的长度自动选择合适的解码方式。
func LeDecodeToInt8 ¶
LeDecodeToInt8 将字节切片解码为int8类型的整数。 如果输入切片为空,将会panic。
func LeDecodeToUint ¶
LeDecodeToUint 将字节切片解码为uint类型的无符号整数。 根据字节切片的长度自动选择合适的解码方式。
func LeDecodeToUint16 ¶
LeDecodeToUint16 将小端序字节切片解码为uint16类型的无符号整数。
func LeDecodeToUint32 ¶
LeDecodeToUint32 将小端序字节切片解码为uint32类型的无符号整数。
func LeDecodeToUint64 ¶
LeDecodeToUint64 将小端序字节切片解码为uint64类型的无符号整数。
func LeDecodeToUint8 ¶
LeDecodeToUint8 将字节切片解码为uint8类型的无符号整数。 如果输入切片为空,将会panic。
func LeEncode ¶
func LeEncode(values ...interface{}) []byte
LeEncode 使用小端序将一个或多个值编码为字节切片。 通过类型断言检查values中每个值的类型,并调用相应的转换函数进行字节转换。 支持常见变量类型的断言,对于不支持的类型,使用fmt.Sprintf将值转换为字符串后再转换为字节。
func LeEncodeBool ¶
LeEncodeBool 将布尔值编码为字节切片。 true编码为[1],false编码为[0]。
func LeEncodeByLength ¶
LeEncodeByLength 使用小端序将值编码为指定长度的字节切片。 如果编码结果长度小于指定长度,则在末尾补零;如果大于指定长度,则截断。
func LeEncodeFloat32 ¶
LeEncodeFloat32 将float32类型的浮点数编码为小端序字节切片。
func LeEncodeFloat64 ¶
LeEncodeFloat64 将float64类型的浮点数编码为小端序字节切片。
func LeEncodeInt ¶
LeEncodeInt 将int类型的整数编码为字节切片。 根据整数大小自动选择合适的字节长度进行编码。
func LeEncodeUint ¶
LeEncodeUint 将uint类型的无符号整数编码为字节切片。 根据整数大小自动选择合适的字节长度进行编码。
func LeEncodeUint16 ¶
LeEncodeUint16 将uint16类型的无符号整数编码为小端序字节切片。
func LeEncodeUint32 ¶
LeEncodeUint32 将uint32类型的无符号整数编码为小端序字节切片。
func LeEncodeUint64 ¶
LeEncodeUint64 将uint64类型的无符号整数编码为小端序字节切片。
func LeFillUpSize ¶
LeFillUpSize 使用小端序将字节切片b填充到指定长度l。 注意:该函数会创建一个新的字节切片并复制原始数据,以避免修改原始参数。
Types ¶
type Bit ¶
type Bit int8
Bit 表示二进制位(0或1)。
func DecodeBytesToBits ¶
DecodeBytesToBits 将字节切片解析为二进制位数组。 每个字节被解析为8个二进制位。
func EncodeBits ¶
EncodeBits 将整数编码为指定长度的二进制位数组。 本质上是调用EncodeBitsWithUint,将int转换为uint进行处理。