proxy.py 890 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import sys
  2. import socket
  3. import threading
  4. # HEX_FILTER = ''.join([(len(repr(chr(i))) == 3) and chr(i) or '.' for i in range(256)])
  5. HEX_FILTER = ''.join([chr(i) if len(repr(chr(i))) == 3 else '.' for i in range(256)])
  6. def hexdump(src, length=16, show=True):
  7. if isinstance(src, bytes):
  8. src = src.decode()
  9. results = list()
  10. for i in range(0, len(src), length):
  11. word = str(src[i:i+length])
  12. printable = word.translate(HEX_FILTER)
  13. hexa = ' '.join([f'{ord(c):02X}' for c in word])
  14. hexwidth = length*3
  15. results.append(f'{i:04x} {hexa:<{hexwidth}} {printable}')
  16. if show:
  17. for line in results:
  18. print(line)
  19. else:
  20. return results
  21. def main():
  22. # print(HEX_FILTER)
  23. hexdump('python rocks\n and prixies roll\n', length=8)
  24. if __name__ == '__main__':
  25. main()