合宙Air724UG LuatOS-Air core API--pack

Table of Contents
pack
pack库说明
pack.unpack( string, format,[ init ] )
pack.pack( format, val1, val2, …valn )
pack
数据转换

pack库说明
pack

pack 库支持将一系列数据按照格式字符转化为 lua 字符串或者将 lua 字符串按照格式字符转化成
一系列值

格式字符串格式如下:

[endianness]< format specifier >[count]

endianness:字节序

‘<’ 小字节序,最低有效字节优先,更低的字节有效位占据着更低地址的内存空间。
‘>’ 大字节序,最高有效字节优先,更高的字节有效位占据着更低地址的内存空间。
‘=’ 自然字节序,默认。
format specifier:参照下面格式化符号

count:取字节个数

格式化符号 变量类型
‘z’ 以’\0’结尾的字符串
‘p’ 在string数据前面加一个字节的string长度数据
‘P’ 在string数据前面加2个字节的string长度数据
‘a’ 在string数据前面加4个字节的string长度数据
‘A’ 字符串(string)
‘f’ 浮点数(float)
‘d’ 双精度浮点数(double)
‘n’ Lua数字(Lua number)
‘c’ 字符(char)
‘b’ 字节(byte = unsigned char)
‘h’ 短整型(short,两字节)
‘H’ 无符号短整型(unsigned short,两字节)
‘i’ 整型(int,四字节)
‘I’ 无符号整型(unsigned int,四字节)
‘l’ 长整型(long,八字节)
‘L’ 无符号长整型(unsigned long,八字节)
pack.unpack( string, format,[ init ] )
解包字符串

参数

参数 类型 释义 取值
string string 需解包的字符串
format string 格式化符号
init[opt=1] number 默认值为1,标记解包开始的位置
返回值

返回值 类型 释义 取值
nextpos number 字符串标记的位置
val1 number 第一个解包的值
详细指南和示例参考:指南 示例

pack.pack( format, val1, val2, …valn )
打包字符串的值,在pack的时候有符号 无符号的输出结果都是一样的 unpack时有符号跟无符号才有区别

参数

参数 类型 释义 取值
format string 格式化符号
val1 number 第一个需打包的值
val2 number 第二个需打包的值
valn number 第n个需打包的值
返回值

返回值 类型 释义 取值
result string 一个包含所有格式化变量的字符串
例子

–print(“pcak.pack test:”)
–print(pack.pack(“A”,10))–当"10"以字符串形式包装时,会打印出“10”
–print(common.binstohexs(pack.pack(“b”,0x10)))–将0x01以十六进制打包为字符串,然后用十六进制输出0x10
–print(pack.pack(“A”,“LUAT”))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l531798151

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值