前言#
上一章我们讲了一下将字符串中对应字符转化为ASCII码的函数,今天我们来一下看一下这个反向函数,就是将ASCII码转化为相对应字符,在功能上与函数string.byte()
是互逆的。
内容#
string.char()##
- 原型:string.char(...)
- 解释:接收0个或者多个参数,返回一个字符串,字符串长度等于参数个数,前提是每一参数作为ASCII码都有一个字符与之相对应,也就是说大部分的数字是无效的,这个函数参数的ASCII码在跨平台方面不一定是可移植的。
Usage##
- 首先新建一个文件命名为chartest.lua然后编写如下代码:
-- 不传参数
local ret = string.char();
print("\nthe ret of string.char() :")
print(ret)
-- 一个参数
local retwith1param = string.char(48);
print("\nthe ret of string.char(48) :")
print(retwith1param)
-- 多个参数
local retwith5param = string.char(48, 49 ,50, 65, 97);
print("\nthe ret of string.char(48, 49 ,50, 95, 96) :")
print(retwith5param)
-- 包含无效参数
local retwith6param = string.char(48, 49 ,50, 257, 65, 97);
print("\nthe ret of string.char(48, 49 ,50, 257, 95, 96) :")
print(retwith6param)
- 运行结果
总结#
- 由第一组结果可以看出当不传参数时函数返回空字符串。
- 从第二三组的结果可以看出如果是正常的ASCII码,则会返回一个字符串
- 程序的最后报错了,那是因为蚕参数中有一个不正常的参数205,没有对应的字符和其对应,故程序报错了。