我想取消转义 "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
。谁能帮帮我?
最佳答案
该方法工作正常,在线 Lua 解释器在此 UTF8 示例中未显示正确结果。
您可以在另一个解释器下测试它,例如 this one .
关于string - 如何转义多字节字符 utf8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21530403/