我想取消"Sch%C3%B6ne"
的转义。我在线上找到了这个unescape
函数,该函数在很多情况下都可以使用,但由于这是2个字符,因此无法正常运行,我在http://www.lua.org/cgi-bin/demo上测试了以下代码
teststring = "Sch%C3%B6ne"
function unescape (str)
str = string.gsub (str, "+", " ")
str = string.gsub (str, "%%(%x%x)", function(h) return string.char(tonumber(h,16)) end)
str = string.gsub (str, "\r\n", "\n")
return str
end
print(unescape(teststring))
它打印
Schöne
,但我想要Schöne
。有人可以帮助我吗? 最佳答案
该方法工作正常,在此UTF8示例中,在线Lua解释器未显示正确的结果。
您可以在另一个解释器(例如this one)下对其进行测试。