equal
deleted
inserted
replaced
51 local encode, decode; |
51 local encode, decode; |
52 do |
52 do |
53 local urlcodes = setmetatable({}, { __index = function (t, k) t[k] = char(tonumber(k, 16)); return t[k]; end }); |
53 local urlcodes = setmetatable({}, { __index = function (t, k) t[k] = char(tonumber(k, 16)); return t[k]; end }); |
54 |
54 |
55 decode = function (s) |
55 decode = function (s) |
56 return s and (s:gsub("%%([a-fA-F0-9][a-fA-F0-9])", urlcodes)); |
56 return s and (s:gsub("%%(%x%x)", urlcodes)); |
57 end |
57 end |
58 |
58 |
59 encode = function (s) |
59 encode = function (s) |
60 return s and (s:gsub("%W", function (c) return format("%%%02x", c:byte()); end)); |
60 return s and (s:gsub("%W", function (c) return format("%%%02x", c:byte()); end)); |
61 end |
61 end |