bin
函数名 | 函数描述/介绍 |
---|---|
bin.Find | Find 根据字段名称在解析结果中查找对应的字段值 @param {[]ResultIf} results 通过bin.Read获取的解析结果 @param {string} name 要查找的字段名称 @return {ResultIf} 找到的字段值,如果未找到则返回nil |
bin.Read | |
bin.toBool | toBool 创建一个布尔类型描述符,用于从二进制数据中读取布尔值(非零为true) @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} verbose 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象... |
bin.toBytes | toRaw 创建一个字节数组类型描述符,用于从二进制数据中读取字节序列 @param {string} name 字段名称,用于之后通过Find函数查找 @param {number|string} size 字节长度或引用其他字段名称作为长度值 @return {PartDescriptor... |
bin.toInt | toInt64 创建一个64位整数类型描述符,用于从二进制数据中读取int64值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象 |
bin.toInt16 | toInt16 创建一个16位整数类型描述符,用于从二进制数据中读取int16值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象 |
bin.toInt32 | toInt32 创建一个32位整数类型描述符,用于从二进制数据中读取int32值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象 |
bin.toInt64 | toInt64 创建一个64位整数类型描述符,用于从二进制数据中读取int64值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象 |
bin.toInt8 | toInt8 创建一个8位整数类型描述符,用于从二进制数据中读取int8值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象 |
bin.toList | toList 创建一个列表类型描述符,用于从二进制数据中按顺序读取多个相同格式的元素 @param {PartDescriptor} builder 列表中的元素描述符 @return {PartDescriptor} 返回列表类型描述符对象 |
bin.toRaw | toRaw 创建一个字节数组类型描述符,用于从二进制数据中读取字节序列 @param {string} name 字段名称,用于之后通过Find函数查找 @param {number|string} size 字节长度或引用其他字段名称作为长度值 @return {PartDescriptor... |
bin.toStruct | toStruct 创建一个结构体类型描述符,用于从二进制数据中读取不同类型字段组成的结构 @param {PartDescriptor} builder 结构体中的字段描述符 @return {PartDescriptor} 返回结构体类型描述符对象 |
bin.toUint | toUint64 创建一个64位无符号整数类型描述符,用于从二进制数据中读取uint64值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符... |
bin.toUint16 | toUint16 创建一个16位无符号整数类型描述符,用于从二进制数据中读取uint16值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符... |
bin.toUint32 | toUint32 创建一个32位无符号整数类型描述符,用于从二进制数据中读取uint32值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符... |
bin.toUint64 | toUint64 创建一个64位无符号整数类型描述符,用于从二进制数据中读取uint64值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符... |
bin.toUint8 | toUint8 创建一个8位无符号整数类型描述符,用于从二进制数据中读取uint8值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象 |
#
函数定义#
Find#
详细描述Find 根据字段名称在解析结果中查找对应的字段值
@param {[]ResultIf} results 通过bin.Read获取的解析结果
@param {string} name 要查找的字段名称
@return {ResultIf} 找到的字段值,如果未找到则返回nil
Example:
result = bin.Read(data, bin.toUint16("magic"), bin.toUint8("version"))~magic = bin.Find(result, "magic")
if magic != nil { println("Magic:", magic.AsUint16()) }
#
定义Find(results []ResultIf, name string) ResultIf
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
results | []ResultIf | |
name | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | ResultIf |
#
Read#
详细描述#
定义Read(data any, descriptors ...*PartDescriptor) ([]ResultIf, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
data | any | |
descriptors | ...*PartDescriptor |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | []ResultIf | |
r2 | error |
#
toBool#
详细描述toBool 创建一个布尔类型描述符,用于从二进制数据中读取布尔值(非零为true) @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} verbose 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象
#
定义toBool(name string, verbose ...string) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
verbose | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toBytes#
详细描述toRaw 创建一个字节数组类型描述符,用于从二进制数据中读取字节序列
@param {string} name 字段名称,用于之后通过Find函数查找
@param {number|string} size 字节长度或引用其他字段名称作为长度值
@return {PartDescriptor} 返回类型描述符对象
Example:
// 读取长度为5的字节数组bin.Read(data, bin.toBytes("content", 5))
// 读取长度由另一个字段决定的字节数组bin.Read(data, bin.toUint8("length"), bin.toBytes("content", "length"))
#
定义toBytes(name string, size any) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
size | any |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toInt#
详细描述toInt64 创建一个64位整数类型描述符,用于从二进制数据中读取int64值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象
#
定义toInt(name string, values ...string) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
values | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toInt16#
详细描述toInt16 创建一个16位整数类型描述符,用于从二进制数据中读取int16值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象
#
定义toInt16(name string, values ...string) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
values | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toInt32#
详细描述toInt32 创建一个32位整数类型描述符,用于从二进制数据中读取int32值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象
#
定义toInt32(name string, values ...string) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
values | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toInt64#
详细描述toInt64 创建一个64位整数类型描述符,用于从二进制数据中读取int64值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象
#
定义toInt64(name string, values ...string) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
values | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toInt8#
详细描述toInt8 创建一个8位整数类型描述符,用于从二进制数据中读取int8值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象
#
定义toInt8(name string, values ...string) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
values | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toList#
详细描述toList 创建一个列表类型描述符,用于从二进制数据中按顺序读取多个相同格式的元素
@param {PartDescriptor} builder 列表中的元素描述符
@return {PartDescriptor} 返回列表类型描述符对象
Example:
// 读取两个uint16构成的列表result = bin.Read(data, bin.toList(bin.toUint16("item"), bin.toUint16("item")))~list = result[0]item1 = list.Result[0].AsUint16()item2 = list.Result[1].AsUint16()
#
定义toList(builder ...*PartDescriptor) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
builder | ...*PartDescriptor |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toRaw#
详细描述toRaw 创建一个字节数组类型描述符,用于从二进制数据中读取字节序列
@param {string} name 字段名称,用于之后通过Find函数查找
@param {number|string} size 字节长度或引用其他字段名称作为长度值
@return {PartDescriptor} 返回类型描述符对象
Example:
// 读取长度为5的字节数组bin.Read(data, bin.toBytes("content", 5))
// 读取长度由另一个字段决定的字节数组bin.Read(data, bin.toUint8("length"), bin.toBytes("content", "length"))
#
定义toRaw(name string, size any) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
size | any |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toStruct#
详细描述toStruct 创建一个结构体类型描述符,用于从二进制数据中读取不同类型字段组成的结构
@param {PartDescriptor} builder 结构体中的字段描述符
@return {PartDescriptor} 返回结构体类型描述符对象
Example:
// 读取包含magic(uint16)和version(uint8)的结构体result = bin.Read(data, bin.toStruct(
bin.toUint16("magic"), bin.toUint8("version")
))~structResult = result[0]magic = structResult.Result[0].AsUint16()version = structResult.Result[1].AsUint8()
#
定义toStruct(builder ...*PartDescriptor) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
builder | ...*PartDescriptor |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toUint#
详细描述toUint64 创建一个64位无符号整数类型描述符,用于从二进制数据中读取uint64值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象
#
定义toUint(name string, values ...string) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
values | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toUint16#
详细描述toUint16 创建一个16位无符号整数类型描述符,用于从二进制数据中读取uint16值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象
#
定义toUint16(name string, values ...string) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
values | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toUint32#
详细描述toUint32 创建一个32位无符号整数类型描述符,用于从二进制数据中读取uint32值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象
#
定义toUint32(name string, values ...string) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
values | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toUint64#
详细描述toUint64 创建一个64位无符号整数类型描述符,用于从二进制数据中读取uint64值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象
#
定义toUint64(name string, values ...string) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
values | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |
#
toUint8#
详细描述toUint8 创建一个8位无符号整数类型描述符,用于从二进制数据中读取uint8值 @param {string} name 字段名称,用于之后通过Find函数查找 @param {string} values 可选的详细描述 @return {PartDescriptor} 返回类型描述符对象
#
定义toUint8(name string, values ...string) *PartDescriptor
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
name | string | |
values | ...string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *PartDescriptor |