aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--util/hex.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/util/hex.lua b/util/hex.lua
new file mode 100644
index 00000000..72fc22bd
--- /dev/null
+++ b/util/hex.lua
@@ -0,0 +1,19 @@
+local s_char = string.char;
+
+local function char_to_hex(c)
+ return ("%02x"):format(c:byte())
+end
+
+local function hex_to_char(h)
+ return s_char(tonumber(h, 16));
+end
+
+function to(s)
+ return s:gsub(".", char_to_hex);
+end
+
+function from(s)
+ return s:gsub("..", hex_to_char);
+end
+
+return { to = to, from = from }