七位16进制组号(从0开始计数),后面跟0,冒号和一个空格。 之后将该组字符串转化成16进制后分割成8段,每段4位,相邻两段之间用空格隔开。 上述内容定宽为51个字符,并左对齐。 接下来输出该组字符串的原文,但换行符需要替换为英文句号。
import sys for a in sys.argv[1:]: for i in range(0,len(a),16):b=a[i:i+16];print(f"{f"{i//16:07x}0: "+' '.join(b.encode().hex()[j:j+4]for j in range(0,33,4)):<51}"+b.replace('\n','.')) print('')