字符串处理模块(仅支持 iOS)

函数名称:tohex、fromhex

函数功能:转码,字符串十六进制编码转换

函数用例

local sz = require("sz")
local str = "触动精灵"
--仅支持 iOS
dialog('"'..str..'" 的 16 进制编码为: <'..str:tohex()..'>', 0) --“触动精灵”的 16 进制编码
dialog('<'..str:tohex()..'> 转换成明文为: "'..str:tohex():fromhex()..'"', 0)--将上一行的 16 进制编码转换为明文字符

函数名称:md5

函数功能:字符串 MD5 计算

函数用例

local sz = require("sz")
local str = "触动精灵"
local binstr = "\0\1\2\3\4\5"
dialog('"'..str..'" 的 MD5 值是: '..str:md5(), 0)--计算"触动精灵"的 MD5 值
dialog('<'..binstr:tohex()..'> 的 MD5 值是: '..binstr:md5(), 0)--计算“000102030405”的 MD5 值

函数名称:sha1

函数功能:字符串 SHA1 计算

函数用例

local sz = require("sz")
local str = "触动精灵"
local binstr = "\0\1\2\3\4\5"
dialog('"'..str..'" 的 SHA1 值是: '..str:sha1(), 0)--计算"触动精灵"的 SHA1 值
dialog('<'..binstr:tohex()..'> 的 SHA1 值是: '..binstr:sha1(), 0)   --计算“000102030405”的 SHA1 值

函数名称:aes128_encrypt、aes128_decrypt、base64_encode、base64_decode

函数功能:字符串 AES128、BASE64 编解码

函数用例

local sz = require("sz")
local msg = "\5\4\3\2\1\0"
local key = "触动精灵"
local emsg = msg:aes128_encrypt(key)
--仅支持 iOS
local emsgb64 = emsg:base64_encode()
dialog('二进制数据<'..msg:tohex()..'> \n 使用 AES128 算法 密钥 "'..key..'" 加密 值是: <'..emsg:tohex()..'> \n base64 串为 "'..emsgb64..'"', 0)
local tmp = emsgb64:base64_decode()
msg = tmp:aes128_decrypt(key)
dialog('"'..emsgb64..'" base64 解码后的数据为 <'..tmp:tohex()..'> \n使用 AES128 算法 密钥 "'..key..'" 解密 值是: <'..msg:tohex()..'>', 0)

函数名称:split、rtrim、ltrim、trim、atrim

函数功能:字符串分割、过滤

函数用例 字符串分割及空白字符过滤

local sz = require("sz")
str = "  哈哈,he he,1,3,6  "
new = str:split(",") --将字符串str按照 `,` 分割并返回一个TABLE
dialog(new[2], 0)
dialog(str:rtrim(), 0) -- 结果 "  哈哈,he he,1,3,6" ,删除字符串尾部的空白字符
dialog(str:ltrim(), 0) -- 结果 "哈哈,he he,1,3,6  " ,删除字符串首部的空白字符
dialog(str:trim(), 0) -- 结果 "哈哈,he he,1,3,6"    ,删除字符串首尾的空白字符
dialog(str:atrim(), 0) -- 结果 "哈哈,hehe,1,3,6"    ,删除字符串所有的空白字符

名词解析 空白字符包括:空格、制表符 \t 、换行符 \n\r

函数名称:fromgbk

函数功能:转码,GBK 转 UTF8

函数用例 将字符串从 GBK 编码转换到 UTF8 编码(引擎版本 iOS v2.2.6 以上版本)

require "sz"
f = io.open("/var/mobile/Media/TouchSprite/res/a.txt", "r")
s = f:read("*a")
f:close()

dialog(s:fromgbk())

函数名称:iconv

函数功能:字符集转换

函数用例

--此功能需引擎版本 iOS v2.2.7 以内置版本带的苏泽库支持方可使用
local sz = require("sz")
local iconv = sz.iconv
local cd = iconv.new("utf8", "gbk") --新建一个 gbk 到 utf8 编码的转换器
local f = io.open("/var/mobile/Media/TouchSprite/res/1.txt", "rb")
local s = f:read("*a")
f:close()
dialog(cd:iconv(s))
Copyright 北京帮你玩科技有限公司 2023 all right reserved,powered by Gitbook该文章修订时间: 2024-03-06 17:50:18

results matching ""

    No results matching ""