python 里的hexdump

编程开发 Add comments

强悍程度略见一斑啊

  1. FILTER=''.join([(len(repr(chr(x)))==3) and chr(x) or '.' for x in range(256)])
  2.  
  3. def dump(src, length=8):
  4.     N=0; result=''
  5.     while src:
  6.         s,src = src[:length],src[length:]
  7.         hexa = ' '.join(["%02X"%ord(x) for x in s])
  8.         s = s.translate(FILTER)
  9.         result += "%04X   %-*s   %s\n" % (N, length*3, hexa, s)
  10.         N+=length
  11.     return result
  12.  
  13. def dump2(src, length=8):
  14.     result=[]
  15.     for i in xrange(0, len(src), length):
  16.         s = src[i:i+length]
  17.         hexa = ' '.join(["%02X"%ord(x) for x in s])
  18.         printable = s.translate(FILTER)
  19.         result.append("%04X   %-*s   %s\n" % (i, length*3, hexa, printable))
  20.     return ''.join(result)

Leave a Reply

You must be logged in to post a comment.

Thx N.Design Studio for this Theme
Entries RSS Comments RSS Log in