Skip to content

Instantly share code, notes, and snippets.

@hash3liZer
Forked from JonathonReinhart/hexdump.py
Created July 29, 2018 06:40
Show Gist options
  • Save hash3liZer/df79c728a9a3b709050ae2becadf7998 to your computer and use it in GitHub Desktop.
Save hash3liZer/df79c728a9a3b709050ae2becadf7998 to your computer and use it in GitHub Desktop.
hexdump implementation in Python
import string
def hexdump(src, length=16, sep='.'):
DISPLAY = string.digits + string.letters + string.punctuation
FILTER = ''.join(((x if x in DISPLAY else '.') for x in map(chr, range(256))))
lines = []
for c in xrange(0, len(src), length):
chars = src[c:c+length]
hex = ' '.join(["%02x" % ord(x) for x in chars])
if len(hex) > 24:
hex = "%s %s" % (hex[:24], hex[24:])
printable = ''.join(["%s" % FILTER[ord(x)] for x in chars])
lines.append("%08x: %-*s |%s|\n" % (c, length*3, hex, printable))
print ''.join(lines)
if __name__ == '__main__':
data = ''.join(chr(x) for x in range(256))
hexdump(data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment