Merge 0.9->0.10
[prosody.git] / util / hex.lua
1 local s_char = string.char;
2 local s_format = string.format;
3 local s_gsub = string.gsub;
4
5 local char_to_hex = {};
6 local hex_to_char = {};
7
8 do
9         local char, hex;
10         for i = 0,255 do
11                 char, hex = s_char(i), s_format("%02x", i);
12                 char_to_hex[char] = hex;
13                 hex_to_char[hex] = char;
14         end
15 end
16
17 local function to(s)
18         return (s_gsub(s, ".", char_to_hex));
19 end
20
21 local function from(s)
22         return (s_gsub(s, "..", hex_to_char));
23 end
24
25 return { to = to, from = from }