utils¶
utils¶
模块功能:常用工具类接口
string.toHex(str, separator)¶
将Lua字符串转成HEX字符串,如“123abc”转为“313233616263”
参数
传入值类型 |
释义 |
---|---|
string |
str 输入字符串 |
string |
可选参数,默认为``””``,separator 输出的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”, 函数里加入了过滤分隔符,可以过滤掉大部分分隔符(可参见正则表达式中:raw-latex:s和:raw-latex:`\p的范围`)。
参数
传入值类型 |
释义 |
---|---|
string |
hex,16进制组成的串 |
返回值
charstring,字符组成的串 len,输出字符串的长度
例子
string.fromHex("010203") -> "\1\2\3"
string.fromHex("313233616263:) -> "123abc"
string.utf8Len(str)¶
返回utf8编码字符串的长度
参数
传入值类型 |
释义 |
---|---|
string |
str,utf8编码的字符串,支持中文 |
返回值
number,返回字符串长度
例子
local cnt = string.utf8Len("中国a"),cnt == 3
string.utf8ToTable(str)¶
返回utf8编码字符串的单个utf8字符的table
参数
传入值类型 |
释义 |
---|---|
string |
str,utf8编码的字符串,支持中文 |
返回值
table,utf8字符串的table
例子
local t = string.utf8ToTable("中国2018")
string.rawurlEncode(str)¶
返回字符串的 RFC3986 编码
参数
传入值类型 |
释义 |
---|---|
string |
str,要转换编码的字符串,支持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编码
参数
传入值类型 |
释义 |
---|---|
string |
str,要转换编码的字符串,支持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表的排序后的键值对
参数
传入值类型 |
释义 |
---|---|
table |
t, 要排序的hash表 |
param |
f, 自定义排序函数 |
返回值
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的增强版,支持嵌套字符串数组
参数
传入值类型 |
释义 |
---|---|
table |
l,嵌套字符串数组 |
返回值
string
例子
print(table.rconcat({"a",{" nice "}," and ", {{" long "},{" list "}}}))
string.formatNumberThousands(num)¶
返回数字的千位符号格式
参数
传入值类型 |
释义 |
---|---|
number |
num,数字 |
返回值
string,千位符号的数字字符串
例子
loca s = string.formatNumberThousands(1000) ,s = "1,000"
string.split(str, delimiter)¶
按照指定分隔符分割字符串
参数
传入值类型 |
释义 |
---|---|
string |
str 输入字符串 |
string |
delimiter 分隔符 |
返回值
分割后的字符串列表
例子
"123,456,789":split(',') -> {'123','456','789'}
io.exists(path)¶
判断文件是否存在
参数
传入值类型 |
释义 |
---|---|
string |
path,文件全名例如:“/ldata/call.mp3” |
返回值
boole,存在为true,不存在为false
例子
local ex = io.exists("/ldata/call.mp3")
io.readFile(path)¶
读取文件并返回文件的内容
参数
传入值类型 |
释义 |
---|---|
string |
path,文件全名例如:“/ldata/call.txt” |
返回值
string,文件的内容,文件不存在返回nil
例子
local c = io.readFile("/ldata/call.txt")
io.writeFile(path, content, mode)¶
写入文件指定的内容,默认为覆盖二进制模式
参数
传入值类型 |
释义 |
---|---|
string |
path,文件全名例如:“/ldata/call.txt” |
string |
content,文件内容 |
string |
mode,文件写入模式默认“w+b” |
返回值
string,文件的内容
例子
local c = io.writeFile("/ldata/call.txt","test")
io.pathInfo(path)¶
将文件路径分解为table信息
参数
传入值类型 |
释义 |
---|---|
string |
path,文件路径全名例如:“/ldata/call.txt” |
返回值
table,{dirname=“/ldata/”,filename=“call.txt”,basename=“call”,extname=“.txt”}
例子
loca p = io.pathInfo("/ldata/call.txt")
io.fileSize(path)¶
返回文件大小
参数
传入值类型 |
释义 |
---|---|
string |
path,文件路径全名例如:“/ldata/call.txt”,“test” |
返回值
number ,文件大小
例子
locan cnt = io.fileSize("/ldata/call.txt")
io.readStream(path, offset, len)¶
返回指定位置读取的字符串
参数
传入值类型 |
释义 |
---|---|
string |
path,文件路径全名例如:“/ldata/call.txt” |
number |
offset,要读取的指定位置 |
number |
len,要读取的字节数 |
返回值
string,返回要读取的数据,读取失败返回nil
例子
无