合宙Air724UG LuatOS-Air script lib API--utils

utils

Table of Contents

utils

string.toHex(str, separator)

string.fromHex(hex)

string.utf8Len(str)

string.utf8ToTable(str)

string.rawurlEncode(str)

string.urlEncode(str)

table.gsort(t, f)

table.rconcat(l)

string.formatNumberThousands(num)

string.split(str, delimiter)

io.exists(path)

io.readFile(path)

io.writeFile(path, content, mode)

io.pathInfo(path)

io.fileSize(path)

io.readStream(path, offset, len)

utils

模块功能:常用工具类接口

string.toHex(str, separator)

将Lua字符串转成HEX字符串,如"123abc"转为"313233616263"

参数

名称 传入值类型 释义

str string 输入字符串

separator string 可选参数,默认为"" 输出的16进制字符串分隔符

返回值

hexstring 16进制组成的串

len 输入的字符串长度

例子

string.toHex("\1\2\3") -> "010203" 3

string.toHex("123abc") -> "313233616263" 6

string.toHex("123abc"," ") -> "31 32 33 61 62 63 " 6

详细指南和示例参考:指南 示例

string.fromHex(hex)

将HEX字符串转成Lua字符串,如"313233616263"转为"123abc", 函数里加入了过滤分隔符,可以过滤掉大部分分隔符(可参见正则表达式中\s和\p的范围)。

参数

名称 传入值类型 释义

hex string 16进制组成的串

返回值

charstring,字符组成的串

len,输出字符串的长度

例子

string.fromHex("010203") -> "\1\2\3"

string.fromHex("313233616263:) -> "123abc"

详细指南和示例参考:指南 示例

string.utf8Len(str)

返回utf8编码字符串的长度

参数

名称 传入值类型 释义

str string utf8编码的字符串,支持中文

返回值

number,返回字符串长度

例子

local cnt = string.utf8Len("中国a"),cnt == 3

string.utf8ToTable(str)

返回utf8编码字符串的单个utf8字符的table

参数

名称 传入值类型 释义

str string utf8编码的字符串,支持中文

返回值

table,utf8字符串的table

例子

local t = string.utf8ToTable("中国2018")

string.rawurlEncode(str)

返回字符串的 RFC3986 编码

参数

名称 传入值类型 释义

str string 要转换编码的字符串,支持UTF8编码中文

返回值

str, RFC3986 编码的字符串

例子

local str = string.rawurlEncode("####133") ,str == "%23%23%23%23133"

local str = string.rawurlEncode("中国2018") , str == "%e4%b8%ad%e5%9b%bd2018"

string.urlEncode(str)

返回字符串的urlEncode编码

参数

名称 传入值类型 释义

str string 要转换编码的字符串,支持UTF8编码中文

返回值

str,urlEncode编码的字符串

例子

local str = string.urlEncode("####133") ,str == "%23%23%23%23133"

local str = string.urlEncode("中国2018") , str == "%e4%b8%ad%e5%9b%bd2018"

table.gsort(t, f)

返回一个迭代器函数,每次调用函数都会返回hash表的排序后的键值对

参数

名称 传入值类型 释义

t table 要排序的hash表

f param 自定义排序函数

返回值

function.

例子

test = {a=1,f=9,d=2,c=8,b=5}

for name,line in pairsByKeys(test) do print(name,line) end

table.rconcat(l)

table.concat的增强版,支持嵌套字符串数组

参数

名称 传入值类型 释义

l table 嵌套字符串数组

返回值

string

例子

print(table.rconcat({"a",{" nice "}," and ", {{" long "},{" list "}}}))

string.formatNumberThousands(num)

返回数字的千位符号格式

参数

名称 传入值类型 释义

num number 数字

返回值

string,千位符号的数字字符串

例子

loca s = string.formatNumberThousands(1000) ,s = "1,000"

string.split(str, delimiter)

按照指定分隔符分割字符串

参数

名称 传入值类型 释义

str string 输入字符串

delimiter string 分隔符

返回值

分割后的字符串列表

例子

"123,456,789":split(',') -> {'123','456','789'}

io.exists(path)

判断文件是否存在

参数

名称 传入值类型 释义

path string 文件全名,例如:"/lua/call.mp3"

返回值

bool,存在为true,不存在为false

例子

local ex = io.exists("/lua/call.mp3")

详细指南和示例参考:指南 示例

io.readFile(path)

读取文件中的所有内容

参数

名称 传入值类型 释义

path string 文件全名,例如:"/lua/call.txt"

返回值

string,文件的内容,文件不存在返回nil

例子

local c = io.readFile("/lua/call.txt")

详细指南和示例参考:指南 示例

io.writeFile(path, content, mode)

写入文件指定的内容,默认为覆盖二进制模式

参数

名称 传入值类型 释义

path string 文件全名,例如:"/lua/call.txt"

content string 文件内容

mode string 文件写入模式,支持如下几种(默认"w+b"):

"w"或者"w+b":空文件写入模式,如果文件不存在,则新建文件,然后从起始位置开始写入;如果文件存在,则删除已有内容,然后从起始位置开始写入

"a"或者"a+b":追加写入模式,如果文件不存在,则新建文件,然后从起始位置开始写入;如果文件存在,则从文件末尾开始追加写入

返回值

boolean result,文件写入结果,true表示写入成功;false表示写入失败

例子

local c = io.writeFile("/lua/call.txt","test")

详细指南和示例参考:指南 示例

io.pathInfo(path)

将文件路径分解为table信息

参数

名称 传入值类型 释义

path string 文件路径全名,例如:"/lua/call.txt"

返回值

table,{dirname="/lua/",filename="call.txt",basename="call",extname=".txt"}

例子

loca p = io.pathInfo("/lua/call.txt")

详细指南和示例参考:指南 示例

io.fileSize(path)

返回文件大小

参数

名称 传入值类型 释义

path string 文件路径全名,例如:"/lua/call.txt"

返回值

number ,文件大小

例子

locan cnt = io.fileSize("/lua/call.txt")

详细指南和示例参考:指南 示例

io.readStream(path, offset, len)

返回指定位置读取的字符串

参数

名称 传入值类型 释义

path string 文件路径全名,例如:"/lua/call.txt"

offset number 要读取的指定位置,相对于文件开头的偏移位置

len number 要读取的字节数

返回值

string,返回要读取的数据,读取失败返回nil

例子

详细指南和示例参考:指南 示例

相关推荐
l5317981511 年前
合宙Air724UG LuatOS-Air lvgl字库
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-截屏(Screenshots)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-图片(Gif)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-二维码(Qrcode)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-标签 (Label)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-窗口 (Window)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-图片 (Image)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-表格(Table)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-开关 (Switch)
air724ug
l5317981511 年前
合宙Air724UG LuatOS-Air LVGL API控件-页面 (Page)
air724ug