File

util/hex.lua @ 11739:e0d0680e04cc

core.storagemanager: Respect archive ids issued by storage drivers in tests Storage drivers may issue their own IDs tho none of the included ones do this atm, but the 3rd party module mod_storage_xmlarchive has its special format.
author Kim Alvefur <zash@zash.se>
date Sun, 15 Aug 2021 12:28:58 +0200
parent 6802:442019e955dc
child 12355:a0ff5c438e9d
line wrap: on
line source

local s_char = string.char;
local s_format = string.format;
local s_gsub = string.gsub;
local s_lower = string.lower;

local char_to_hex = {};
local hex_to_char = {};

do
	local char, hex;
	for i = 0,255 do
		char, hex = s_char(i), s_format("%02x", i);
		char_to_hex[char] = hex;
		hex_to_char[hex] = char;
	end
end

local function to(s)
	return (s_gsub(s, ".", char_to_hex));
end

local function from(s)
	return (s_gsub(s_lower(s), "%X*(%x%x)%X*", hex_to_char));
end

return { to = to, from = from }