print 添加一个换行符。请改用io.write。
local input = "56303031"
local length = string.len(input)
for i = 1, length, 2 do
local d = string.sub(input, i , i+1)
local a = string.char(tonumber(d, 16))
io.write(a)
end
或者组合一个字符串并在末尾打印:
local input = "56303031"
local length = string.len(input)
local str = ""
for i = 1, length, 2 do
local d = string.sub(input, i , i+1)
local a = string.char(tonumber(d, 16))
str = str .. a
end
print(a)
或者你只是在打印前使用 gsub 修改字符串:
local input = "56303031"
print((input:gsub("%x%x", function (x) return string.char(tonumber(x, 16)) end)))
这会将input 中的每组2 个十六进制字符替换为该数字所代表的字符。