Lua 去除不可见控制字符
关于ASCII码 控制字符这个坑,我想有小伙伴肯定和我一样遇见了。。
我遇见的问题是,在进行双方通信的时候,本地发送过的数据到对方那边,莫名其妙多出十几个bytes的东西。
但是我找不到是什么东西@@....
想了半天,唯一的差别就只有可能是ASCII码表中的那几个不可见的控制字符。
首先附上一个ASCII码表。
为此,需要对收到的字符进行过滤,这边我只对不可见的控制字符进行过滤,保留从39-126的可见字符。
function filter_spec_char(s)
local ss = {}
local k = 1
while true do
if k > #s then break end
local c = string.byte(s,k)
if not c then break end
if c<192 then
if (c>=39 and c<=126) then
table.insert(ss, string.char(c))
end
k = k + 1
end
end
return table.concat(ss)
end
Knowledge, like candlelight, can illuminate a person and countless people.