12345678910111213141516171819202122232425262728293031323334353637 |
- import sys
- import socket
- import threading
- # HEX_FILTER = ''.join([(len(repr(chr(i))) == 3) and chr(i) or '.' for i in range(256)])
- HEX_FILTER = ''.join([chr(i) if len(repr(chr(i))) == 3 else '.' for i in range(256)])
- def hexdump(src, length=16, show=True):
- if isinstance(src, bytes):
- src = src.decode()
- results = list()
- for i in range(0, len(src), length):
- word = str(src[i:i+length])
- printable = word.translate(HEX_FILTER)
- hexa = ' '.join([f'{ord(c):02X}' for c in word])
- hexwidth = length*3
- results.append(f'{i:04x} {hexa:<{hexwidth}} {printable}')
- if show:
- for line in results:
- print(line)
- else:
- return results
- def main():
- # print(HEX_FILTER)
- hexdump('python rocks\n and prixies roll\n', length=8)
- if __name__ == '__main__':
- main()
|