util/hex.lua

Mon, 04 Jan 2016 17:03:19 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Mon, 04 Jan 2016 17:03:19 +0000
changeset 18
8050134f35b3
parent 9
7da8b3c95bb1
permissions
-rw-r--r--

clients: Include request in the new-client event

9
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 local s_char = string.char;
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 local s_format = string.format;
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 local s_gsub = string.gsub;
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 local s_lower = string.lower;
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 local char_to_hex = {};
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 local hex_to_char = {};
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 do
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 local char, hex;
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 for i = 0,255 do
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 char, hex = s_char(i), s_format("%02x", i);
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 char_to_hex[char] = hex;
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 hex_to_char[hex] = char;
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 end
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 end
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 local function to(s)
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19 return (s_gsub(s, ".", char_to_hex));
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 end
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 local function from(s)
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23 return (s_gsub(s_lower(s), "%X*(%x%x)%X*", hex_to_char));
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
24 end
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25
7da8b3c95bb1 Add and remove missing/deleted files
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
26 return { to = to, from = from }

mercurial