Advertisement
Rochet2

String to hexbytestring and back

Nov 10th, 2014
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 0.70 KB | None | 0 0
  1. -- original strlen: 16
  2. -- hex strlen: 32= orig*2
  3.  
  4. -- Base functions
  5. function ToByte(str)
  6.     assert(type(str) == "string")
  7.     return string.format(("%02x"):rep(str:len()), string.byte(str, 1, str:len()))
  8. end
  9.  
  10. local function hextochar(hexstr) return string.char(tonumber(hexstr, 16)) end
  11. function FromByte(str)
  12.     assert(type(str) == "string")
  13.     return string.gsub(str, "%x%x", hextochar)
  14. end
  15.  
  16. local str = "Some test string"
  17. local byteval = ToByte(str) -- Convert to byte
  18. local orig = FromByte(byteval) -- Convert back to original string
  19.  
  20. -- Print lengths and content of each string used
  21. print(str:len(), "'"..str.."'")
  22. print(byteval:len(), "'"..byteval.."'")
  23. print(orig:len(), "'"..orig.."'")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement