local function encode_dict(data) local dict = "d" for k,v in pairs(data) do v = tonumber(v) or v -- is this required; can a string be a number? if(type(v) == "number") then dict = dict..#k..':'..k..'i'..v..'e' elseif(type(v) == "string") then dict = dict..#k..':'..k..#v..':'..v end end dict = dict .. 'e' return dict end