Nmap Development mailing list archives
[NSE][PATCH] string_ext library
From: Sven Klemm <sven () c3d2 de>
Date: Fri, 19 Sep 2008 10:38:43 +0200
Hi everyone,i've attached a library that adds a to_hex function to string. I think this library would be a good place for adding further string enhancements like for example moving stdnse.strsplit() here.
example usage:
require "string_ext"
("abc"):to_hex() => "616263"
("abc"):to_hex(":") => "61:62:63"
("abc"):to_hex(":",2) => "6162:63"
Cheers,
Sven
--
Sven Klemm
http://cthulhu.c3d2.de/~sven/
--- Extension for the lua string class
module(... or "string_ext", package.seeall)
setmetatable( string, {__index=string_ext})
--- encode string to hexadecimal
-- example: string.to_hex("abc") => "616263"
-- string.to_hex("abc",{separator=":"}) => "61:62:63"
-- string.to_hex("abc",{separator=":",group=2}) => "6162:63"
--@param s string to be encoded
--@param options table specifiying formatting options
--@return hexadecimal encoded string
to_hex = function( s, options )
options = options or {}
local fmt
if options.separator then
local group = options.group or 1
local fmt_table = {}
for i=1,#s,group do
if #s - i < group then
table.insert( fmt_table, string.rep("%02x", #s - i + 1))
else
table.insert( fmt_table, string.rep("%02x", group))
end
end
fmt = table.concat( fmt_table, options.separator:gsub("%%","%%%%") )
else
fmt = string.rep("%02x",#s)
end
return fmt:format(s:byte(1, #s))
end
_______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://SecLists.Org
Current thread:
- [NSE][PATCH] string_ext library Sven Klemm (Sep 19)
- Re: [NSE][PATCH] string_ext library Sven Klemm (Sep 19)
- Re: [NSE][PATCH] string_ext library Fyodor (Sep 19)
- Re: [NSE][PATCH] string_ext library Patrick Donnelly (Sep 22)
- Re: [NSE][PATCH] string_ext library Fyodor (Sep 19)
- Re: [NSE][PATCH] string_ext library Sven Klemm (Sep 19)
