内置函数参考文档
本文档详细描述了各类操作码函数和内置函数,包括函数功能、参数说明、返回值、异常场景及使用示例。涵盖加密、签名验证、算术运算、比较操作和栈操作(主栈与副栈)、数据克隆、切片、删除、推送等多个类别,旨在为开发人员提供清晰、准确的函数使用指南。
一、加密函数
1. Rmd160
- 函数名(Function Name):Rmd160
- 描述(Short Description):计算输入字节数组的RIPEMD160哈希值。
- 参数(Parameters):
input_data- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:待计算哈希的原始数据
- 默认值:无
- 返回值(Returns):
- 类型:BYTES(长度固定为20字节)
- 含义:输入数据的RIPEMD160哈希结果
- 使用示例(Example):python
input_bytes: hex = 0x1234567890 result = Rmd160(input_bytes)
2. Sha1
- 函数名(Function Name):Sha1
- 描述(Short Description):计算输入字节数组的SHA1哈希值。
- 参数(Parameters):
input_data- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:待计算哈希的原始数据
- 默认值:无
- 返回值(Returns):
- 类型:BYTES(长度固定为20字节)
- 含义:输入数据的SHA1哈希结果
- 使用示例(Example):python
input_bytes: hex = 0x1234567890 result = Sha1(input_bytes)
3. Sha256
- 函数名(Function Name):Sha256
- 描述(Short Description):计算输入字节数组的SHA256哈希值。
- 参数(Parameters):
input_data- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:待计算哈希的原始数据
- 默认值:无
- 返回值(Returns):
- 类型:BYTES(长度固定为32字节)
- 含义:输入数据的SHA256哈希结果
- 使用示例(Example):python
input_bytes: hex = 0x1234567890 result = Sha256(input_bytes)
4. Hash160
- 函数名(Function Name):Hash160
- 描述(Short Description):对输入字节数组执行SHA256后接RIPEMD160的组合哈希计算。
- 参数(Parameters):
input_data- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:待计算组合哈希的原始数据
- 默认值:无
- 返回值(Returns):
- 类型:BYTES(长度固定为20字节)
- 含义:输入数据经SHA256+RIPEMD160计算后的哈希结果
- 使用示例(Example):python
input_bytes: hex = 0x1234567890 result = Hash160(input_bytes)
5. Hash256
- 函数名(Function Name):Hash256
- 描述(Short Description):对输入字节数组执行两次SHA256哈希计算。
- 参数(Parameters):
input_data- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:待计算双重SHA256的原始数据
- 默认值:无
- 返回值(Returns):
- 类型:BYTES(长度固定为32字节)
- 含义:输入数据经两次SHA256计算后的哈希结果
- 使用示例(Example):python
input_bytes: hex = 0x1234567890 result = Hash256(input_bytes)
6. PartialHash
- 函数名(Function Name):PartialHash
- 描述(Short Description):对三个输入字节数组执行部分哈希组合计算。
- 参数(Parameters):
part1- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:哈希计算的第一部分数据
- 默认值:无
part2- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:哈希计算的第二部分数据
- 默认值:无
part3- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:哈希计算的第三部分数据
- 默认值:无
- 返回值(Returns):
- 类型:BYTES
- 含义:三个输入部分组合后的部分哈希结果
- 使用示例(Example):python
p1: hex = 0x1234 p2: hex = 0x5678 p3: hex = 0x9012 result = PartialHash(p1, p2, p3)
二、签名验证函数
1. CheckSig
- 函数名(Function Name):CheckSig
- 描述(Short Description):验证签名与公钥是否匹配,返回布尔值结果。
- 参数(Parameters):
public_key- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:用于验证签名的公钥
- 默认值:无
signature- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:待验证的签名数据
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:
1表示签名有效,0表示签名无效
- 使用示例(Example):python
sig: hex = 0x1234 # 假设为签名字节数组 pub_key: hex = 0x5678 # 对应公钥 result = CheckSig(pub_key, sig)
2. CheckSigVerify
- 函数名(Function Name):CheckSigVerify
- 描述(Short Description):验证签名与公钥是否匹配,验证失败则终止执行。
- 参数(Parameters):
public_key- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:用于验证签名的公钥
- 默认值:无
signature- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:待验证的签名数据
- 默认值:无
- 返回值(Returns):无
- 使用示例(Example):python
# 验证有效签名(正常执行) valid_sig: hex = 0x1234 pub_key: hex = 0x5678 CheckSigVerify(pub_key, valid_sig) # 无输出,继续执行 # 验证无效签名(抛出异常并终止) invalid_sig: hex = 0x9012 CheckSigVerify(pub_key, invalid_sig) # 终止执行
3. MultiSig
- 函数名(Function Name):MultiSig
- 描述(Short Description):验证多签名集合与公钥集合是否匹配(通常需满足"n个签名中至少m个有效"的逻辑),返回布尔值结果。
- 参数(Parameters):
public_keys- 类型(Type):BYTES(包含多个公钥的序列化数据)
- 是否可选(Optional/Required):Required
- 用途:用于验证的公钥集合
- 默认值:无
signatures- 类型(Type):BYTES(包含多个签名的序列化数据)
- 是否可选(Optional/Required):Required
- 用途:待验证的多签名集合
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:
1表示多签名验证通过,0表示不通过
- 使用示例(Example):python
sigs: hex = 0x1234567890 # 序列化的有效签名集合 pub_keys: hex = 0x0987654321 # 序列化的公钥集合 result = MultiSig(pub_keys, sigs)
4. MultiSigVerify
- 函数名(Function Name):MultiSigVerify
- 描述(Short Description):验证多签名集合与公钥集合是否匹配,验证失败则终止执行。
- 参数(Parameters):
public_keys- 类型(Type):BYTES(包含多个公钥的序列化数据)
- 是否可选(Optional/Required):Required
- 用途:用于验证的公钥集合
- 默认值:无
signatures- 类型(Type):BYTES(包含多个签名的序列化数据)
- 是否可选(Optional/Required):Required
- 用途:待验证的多签名集合
- 默认值:无
- 返回值(Returns):无
- 使用示例(Example):python
# 验证有效多签名(正常执行) valid_sigs: hex = 0x1234567890 pub_keys: hex = 0x0987654321 MultiSigVerify(pub_keys, valid_sigs) # 无输出,继续执行 # 验证无效多签名(抛出异常并终止) invalid_sigs: hex = 0x6789012345 MultiSigVerify(pub_keys, invalid_sigs) # 终止执行
三、单操作数算术运算函数
1. Inc
- 函数名(Function Name):Inc
- 描述(Short Description):对输入整数执行加1操作并返回结果。
- 参数(Parameters):
x- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:待加1的整数
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:输入整数加1后的结果
- 使用示例(Example):python
a: int = 5 result = Inc(a) # 结果:6
2. Dec
- 函数名(Function Name):Dec
- 描述(Short Description):对输入整数执行减1操作并返回结果。
- 参数(Parameters):
x- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:待减1的整数
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:输入整数减1后的结果
- 使用示例(Example):python
a: int = 5 result = Dec(a) # 结果:4
3. Neg
- 函数名(Function Name):Neg
- 描述(Short Description):对输入整数取相反数并返回结果。
- 参数(Parameters):
x- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:待取相反数的整数
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:输入整数的相反数
- 使用示例(Example):python
a: int = 5 result = Neg(a) # 结果:-5
4. Abs
- 函数名(Function Name):Abs
- 描述(Short Description):对输入整数取绝对值并返回结果。
- 参数(Parameters):
x- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:待取绝对值的整数
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:输入整数的绝对值
- 使用示例(Example):python
a: int = -5 result = Abs(a) # 结果:5
5. Not
- 函数名(Function Name):Not
- 描述(Short Description):对输入整数执行逻辑非操作,返回布尔值。
- 参数(Parameters):
x- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:待执行逻辑非的整数
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:输入为0时返回
1,否则返回0
- 使用示例(Example):python
a: int = 5 result = Not(a) # 结果:0
6. ZeroNotEqual
- 函数名(Function Name):ZeroNotEqual
- 描述(Short Description):判断输入整数是否不等于0,返回布尔值。
- 参数(Parameters):
x- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:待判断的整数
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:输入非0时返回
1,输入为0时返回0
- 使用示例(Example):python
a: int = 0 result = ZeroNotEqual(a) # 结果:0
四、双操作数算术运算函数
1. Add
- 函数名(Function Name):Add
- 描述(Short Description):计算两个整数的和并返回结果。
- 参数(Parameters):
a- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第一个加数
- 默认值:无
b- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第二个加数
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:两个输入整数的和
- 使用示例(Example):python
a: int = 2 b: int = 3 result = Add(a, b) # 结果:5
2. Sub
- 函数名(Function Name):Sub
- 描述(Short Description):计算第一个整数减去第二个整数的差并返回结果。
- 参数(Parameters):
a- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:被减数
- 默认值:无
b- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:减数
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:
a - b的计算结果
- 使用示例(Example):python
a: int = 5 b: int = 3 result = Sub(a, b) # 结果:2
3. Mul
- 函数名(Function Name):Mul
- 描述(Short Description):计算两个整数的乘积并返回结果。
- 参数(Parameters):
a- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第一个乘数
- 默认值:无
b- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第二个乘数
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:两个输入整数的乘积
- 使用示例(Example):python
a: int = 2 b: int = 3 result = Mul(a, b) # 结果:6
4. Div
- 函数名(Function Name):Div
- 描述(Short Description):计算第一个整数除以第二个整数的商并返回结果。
- 参数(Parameters):
a- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:被除数
- 默认值:无
b- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:除数(不能为0)
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:
a除以b的商(整数部分)
- 使用示例(Example):python
a: int = 10 b: int = 2 result = Div(a, b) # 结果:5
5. Mod
- 函数名(Function Name):Mod
- 描述(Short Description):计算第一个整数除以第二个整数的余数并返回结果。
- 参数(Parameters):
a- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:被除数
- 默认值:无
b- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:除数(不能为0)
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:
a除以b的余数
- 使用示例(Example):python
a: int = 10 b: int = 3 result = Mod(a, b) # 结果:1
五、位移运算函数
1. Lshift
- 函数名(Function Name):Lshift
- 描述(Short Description):将第一个整数按第二个整数指定的位数左移并返回结果。
- 参数(Parameters):
a- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:待左移的整数
- 默认值:无
b- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:移位位数(必须≥0)
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:
a左移b位后的结果
- 使用示例(Example):python
a: int = 4 b: int = 2 result = Lshift(a, b) # 结果:16
2. Rshift
- 函数名(Function Name):Rshift
- 描述(Short Description):将第一个整数按第二个整数指定的位数右移并返回结果。
- 参数(Parameters):
a- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:待右移的整数
- 默认值:无
b- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:移位位数(必须≥0)
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:
a右移b位后的结果
- 使用示例(Example):python
a: int = 8 b: int = 3 result = Rshift(a, b) # 结果:1
六、非数值比较函数
1. Equal
- 函数名(Function Name):Equal
- 描述(Short Description):判断两个字节数组是否相等,返回布尔值。
- 参数(Parameters):
bytes1- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:第一个待比较的字节数组
- 默认值:无
bytes2- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:第二个待比较的字节数组
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:两个字节数组完全相同时返回
1,否则返回0
- 使用示例(Example):python
a: string = "hello" b: string = "hello" result = Equal(a, b) # 结果:1
2. EqualVerify
- 函数名(Function Name):EqualVerify
- 描述(Short Description):判断两个字节数组是否相等,不相等则终止执行。
- 参数(Parameters):
bytes1- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:第一个待比较的字节数组
- 默认值:无
bytes2- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:第二个待比较的字节数组
- 默认值:无
- 返回值(Returns):无
- 使用示例(Example):python
# 相等的情况(正常执行) a: string = "hello" b: string = "hello" EqualVerify(a, b) # 无输出,继续执行 # 不相等的情况(抛出异常并终止) a: string = "hello" b: string = "world" EqualVerify(a, b) # 终止执行
七、数值比较函数
1. NumEqual
- 函数名(Function Name):NumEqual
- 描述(Short Description):判断两个整数是否相等,返回布尔值。
- 参数(Parameters):
num1- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第一个待比较的整数
- 默认值:无
num2- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第二个待比较的整数
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:两个整数数值相同时返回
1,否则返回0
- 使用示例(Example):python
a: int = 5 b: int = 5 result = NumEqual(a, b) # 结果:1
2. NumEqualVerify
- 函数名(Function Name):NumEqualVerify
- 描述(Short Description):判断两个整数是否相等,不相等则终止执行。
- 参数(Parameters):
num1- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第一个待比较的整数
- 默认值:无
num2- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第二个待比较的整数
- 默认值:无
- 返回值(Returns):无
- 使用示例(Example):python
# 相等的情况(正常执行) a: int = 5 b: int = 5 NumEqualVerify(a, b) # 无输出,继续执行 # 不相等的情况(抛出异常并终止) a: int = 5 b: int = 3 NumEqualVerify(a, b) # 终止执行
3. NumNotEqual
- 函数名(Function Name):NumNotEqual
- 描述(Short Description):判断两个整数是否不相等,返回布尔值。
- 参数(Parameters):
num1- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第一个待比较的整数
- 默认值:无
num2- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第二个待比较的整数
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:两个整数数值不同时返回
1,否则返回0
- 使用示例(Example):python
a: int = 5 b: int = 3 result = NumNotEqual(a, b) # 结果:1
4. LessThan
- 函数名(Function Name):LessThan
- 描述(Short Description):判断第一个整数是否小于第二个整数,返回布尔值。
- 参数(Parameters):
num1- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:比较中的左操作数(被比较数)
- 默认值:无
num2- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:比较中的右操作数(比较数)
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:
num1 < num2成立时返回1,否则返回0
- 使用示例(Example):python
a: int = 3 b: int = 5 result = LessThan(a, b) # 结果:1
5. GreaterThan
- 函数名(Function Name):GreaterThan
- 描述(Short Description):判断第一个整数是否大于第二个整数,返回布尔值。
- 参数(Parameters):
num1- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:比较中的左操作数(被比较数)
- 默认值:无
num2- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:比较中的右操作数(比较数)
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:
num1 > num2成立时返回1,否则返回0
- 使用示例(Example):python
a: int = 5 b: int = 3 result = GreaterThan(a, b) # 结果:1
6. LessOrEqual
- 函数名(Function Name):LessOrEqual
- 描述(Short Description):判断第一个整数是否小于等于第二个整数,返回布尔值。
- 参数(Parameters):
num1- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:比较中的左操作数(被比较数)
- 默认值:无
num2- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:比较中的右操作数(比较数)
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:
num1 <= num2成立时返回1,否则返回0
- 使用示例(Example):python
a: int = 3 b: int = 5 result = LessOrEqual(a, b) # 结果:1
7. GreaterOrEqual
- 函数名(Function Name):GreaterOrEqual
- 描述(Short Description):判断第一个整数是否大于等于第二个整数,返回布尔值。
- 参数(Parameters):
num1- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:比较中的左操作数(被比较数)
- 默认值:无
num2- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:比较中的右操作数(比较数)
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:
num1 >= num2成立时返回1,否则返回0
- 使用示例(Example):python
a: int = 5 b: int = 3 result = GreaterOrEqual(a, b) # 结果:1
八、最值函数
1. Min
- 函数名(Function Name):Min
- 描述(Short Description):返回两个整数中的较小值。
- 参数(Parameters):
a- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第一个待比较的整数
- 默认值:无
b- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第二个待比较的整数
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:两个输入整数中的较小值
- 使用示例(Example):python
a: int = 3 b: int = 5 result= Min(3, 5) # 结果:3
2. Max
- 函数名(Function Name):Max
- 描述(Short Description):返回两个整数中的较大值。
- 参数(Parameters):
a- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第一个待比较的整数
- 默认值:无
b- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:第二个待比较的整数
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:两个输入整数中的较大值
- 使用示例(Example):python
a: int = 3 b: int = 5 result = Max(3, 5) # 结果:5
九、范围检查函数
1. Within
- 函数名(Function Name):Within
- 描述(Short Description):判断第一个整数是否在第二个整数(最小值)和第三个整数(最大值)之间(含边界)。
- 参数(Parameters):
min_val- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:范围的最小值(包含)
- 默认值:无
max_val- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:范围的最大值(包含)
- 默认值:无
num- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:待检查是否在范围内的整数
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:
num在[min_val, max_val)范围内时返回1,否则返回0
- 使用示例(Example):python
a: int = 5 b: int = 3 c: int = 7 result = Within(a, b, c) # 结果:1(3 ≤ 5 < 7)
十、数据操作函数
1. Cat
- 函数名(Function Name):Cat
- 描述(Short Description):将两个字节数组拼接为一个字节数组并返回。
- 参数(Parameters):
bytes1- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:拼接在前面的字节数组
- 默认值:无
bytes2- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:拼接在后面的字节数组
- 默认值:无
- 返回值(Returns):
- 类型:BYTES
- 含义:
bytes1与bytes2拼接后的字节数组
- 使用示例(Example):python
str1: string = "hello" str2: string = "world" result = Cat(str1, str2) # 结果:"helloworld"
2. Split
- 函数名(Function Name):Split
- 描述(Short Description):将字节数组按指定长度分割为两个字节数组并返回。
- 参数(Parameters):
bytes_data- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:待分割的字节数组
- 默认值:无
n- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:分割长度(必须≥0)
- 默认值:无
- 返回值(Returns):
- 类型:BYTES, BYTES
- 含义:第一个为
bytes_data的前n个字节,第二个为剩余字节
- 使用示例(Example):python
# 正常分割 str1: string = "helloworld" {part1, part2} = Split(str1, 5) # 结果:part1: "hello" part2: world" # 分割长度为0 str2: string = "test" {part1, part2} = Split(str2, 0) # 结果:part1: "" part2: "test" # 分割长度为原数组长度 str3: string = "test" {part1, part2} = Split("test", 4) # 结果:part1: "test" part2: ""
3. Size
- 函数名(Function Name):Size
- 描述(Short Description):返回输入字节数组的长度(字节数)。
- 参数(Parameters):
bytes_data- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:待计算长度的字节数组
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:字节数组的长度(字节数)
- 使用示例(Example):python
str: string = "hello" result: int = Size(str) # 输出:5("hello"包含5个字节)
十一、数字转换函数
1. NumToBin
- 函数名(Function Name):NumToBin
- 描述(Short Description):将整数转换为指定长度的字节数组并返回。
- 参数(Parameters):
num- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:待转换的整数
- 默认值:无
length- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:目标字节数组的长度(必须≥0)
- 默认值:无
- 返回值(Returns):
- 类型:BYTES
- 含义:长度为
length的、num的二进制表示字节数组
- 使用示例(Example):python
# 转换为2字节数组 a: int = 10 result = NumToBin(a, 2) # 结果:"0x0a00" (小端序) # 长度不足时补0 b: int = 5 result = NumToBin(b, 4) # 结果:"0x05000000"
2. BinToNum
- 函数名(Function Name):BinToNum
- 描述(Short Description):将字节数组转换为整数并返回。
- 参数(Parameters):
bytes_data- 类型(Type):BYTES
- 是否可选(Optional/Required):Required
- 用途:待转换为整数的字节数组
- 默认值:无
- 返回值(Returns):
- 类型:INTEGER
- 含义:字节数组解析后的整数
- 使用示例(Example):python
bytes_data: hex = 0x1234 result = BinToNum(bytes_data) # 结果:13330
十二、逻辑运算
1. And
- 函数名(Function Name):And
- 描述(Short Description):对两个布尔值执行逻辑与操作,返回结果。
- 参数(Parameters):
a- 类型(Type):BOOLEAN
- 是否可选(Optional/Required):Required
- 用途:第一个布尔操作数
- 默认值:无
b- 类型(Type):BOOLEAN
- 是否可选(Optional/Required):Required
- 用途:第二个布尔操作数
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:
a与b的逻辑与结果
- 使用示例(Example):python
a: bool = 1 b: bool = 0 result = And(a, b) # 结果:0
2. Or
- 函数名(Function Name):Or
- 描述(Short Description):对两个布尔值执行逻辑或操作,返回结果。
- 参数(Parameters):
a- 类型(Type):BOOLEAN
- 是否可选(Optional/Required):Required
- 用途:第一个布尔操作数
- 默认值:无
b- 类型(Type):BOOLEAN
- 是否可选(Optional/Required):Required
- 用途:第二个布尔操作数
- 默认值:无
- 返回值(Returns):
- 类型:BOOLEAN
- 含义:
a与b的逻辑或结果
- 使用示例(Example):python
a: bool = 1 b: bool = 0 result = Or(a, b) # 结果:1
十三、其它内置函数
1. SetAlt
- 函数名(Function Name):SetAlt
- 描述(Short Description):主栈与副栈可视为一个连续的线性存储空间,由操作指针分割。将操作指针从主栈栈顶移动到指定变量的位置,使其及右侧元素划归副栈。
- 参数(Parameters):
variable- 类型(Type):任意类型
- 是否可选(Optional/Required):Required
- 用途:主栈中的目标变量,用于定位操作指针的新位置
- 默认值:无
- 返回值(Returns):
- 类型:无返回值
- 含义:仅调整主、副栈的边界指针,无具体返回内容
- 使用示例(Example):python
# 初始状态:主栈[ x, y, a, c, b ],副栈[ d, e ],指针在主栈栈顶(b右侧) SetAlt(a); # 执行后:主栈[ x, y ],副栈[ a, c, b, d, e ],指针移动到a的位置
2. SetMain
- 函数名(Function Name):SetMain
- 描述(Short Description):将操作指针从副栈栈顶移动到指定变量的位置,使其及左侧元素划归主栈。
- 参数(Parameters):
variable- 类型(Type):任意类型
- 是否可选(Optional/Required):Required
- 用途:副栈中的目标变量,用于定位操作指针的新位置
- 默认值:无
- 返回值(Returns):
- 类型:无返回值
- 含义:仅调整主、副栈的边界指针,无具体返回内容
- 使用示例(Example):python
# 初始状态:主栈[ x, y ],副栈[ a, c, b, d, e ],指针在副栈中a的位置 SetMain(b); # 执行后:主栈[ x, y, a, c, b ],副栈[ d, e ],指针移动到b的位置
3. Clone
- 函数名(Function Name):Clone
- 描述(Short Description):克隆栈中指定对象,生成与原对象完全一致的副本并压入栈顶。
- 参数(Parameters):
- 无参数(函数通过栈上下文定位目标对象)
- 返回值(Returns):
- 类型:与原对象一致(默认
BYTES) - 含义:原对象的克隆副本,压入栈顶
- 类型:与原对象一致(默认
- 使用示例(Example):python
a = Push(10) result = a.Clone(); # 克隆变量a
4. Slice
- 函数名(Function Name):Slice
- 描述(Short Description):对字节数组执行切片操作,支持“从开头截取”“截取到末尾”“指定长度截取”三种模式。
- 参数(Parameters):
start- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:切片起始位置(-1表示从开头,正数表示具体索引)
- 默认值:无
end- 类型(Type):INTEGER
- 是否可选(Optional/Required):Required
- 用途:切片结束位置(-1表示到末尾,正数表示结束索引或长度)
- 默认值:无
- 返回值(Returns):
- 类型:BYTES
- 含义:切片后得到的子字节数组,压入栈顶
- 使用示例(Example):python
data: hex = 0x01020304 #从开头截取到位置2 result1 = data.Slice(-1, 2); # 结果:0x0102 #从位置1截取到末尾 result2 = data.Slice(1, -1); # 结果:0x020304 #从位置1截取2个字节 result3 = data.Slice(1, 2); # 结果:0x0203
5. Delete
- 函数名(Function Name):Delete
- 描述(Short Description):删除一个或多个变量,支持结构体变量的递归删除(自动删除其所有字段)。
- 参数(Parameters):
variable1, variable2, ...- 类型(Type):任意类型
- 是否可选(Optional/Required):Required(至少1个)
- 用途:需要删除的变量,支持普通变量和结构体变量
- 默认值:无
- 返回值(Returns):
- 类型:无返回值
- 含义:仅执行变量删除操作,无具体返回内容
- 使用示例(Example):python
# 删除单个普通变量 Delete(x); # 删除主栈或副栈中的变量x # 删除结构体变量(递归删除字段) # 存在结构体person,包含person.name(字符串)、person.age(整数) Delete(person); # 同时删除person、person.name、person.age # 批量删除多变量 Delete(a, b, c); # 批量删除变量a、b、c
6. Push
- 函数名(Function Name):Push
- 描述(Short Description):将指定值(字面量或变量)从固定区(fixed area)推送至主栈,仅支持固定区数据。
- 参数(Parameters):
value- 类型(Type):任意类型(字面量或固定区变量)
- 是否可选(Optional/Required):Required
- 用途:需要从固定区推送至主栈的数据
- 默认值:无
- 返回值(Returns):
- 类型:BYTES
- 含义:推送到主栈的数据(与输入数据类型一致,默认视为
BYTES)
- 使用示例(Example):python
# 推送字面量 result = Push(10); # 推送10到主栈 # 推送固定区变量 # 前提:固定区存在变量msg result = Push(msg); # 推送msg的值到主栈
7. Keep
- 函数名(Function Name):Keep
- 描述(Short Description):零成本抽象函数,用于标记保留指定数量的变量。
- 参数(Parameters):
variable1, variable2, ...- 类型(Type):任意类型(默认视为
BYTES) - 是否可选(Optional/Required):Required(至少1个)
- 用途:需要标记保留的变量
- 默认值:无
- 类型(Type):任意类型(默认视为
- 返回值(Returns):
- 类型:与输入参数相同类型(默认
BYTES) - 含义:返回与输入数量和类型完全一致的值,仅标记保留状态
- 类型:与输入参数相同类型(默认
- 使用示例(Example):python
# 保留单个变量 a = Push(10) Keep(a); # 标记保留变量a # 保留多个变量 x = Push(123) y = Push("hello") Keep(x, y); # 标记保留变量x、y