import java.util.*;
public class Main {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String in = sc.next();
// System.out.println(in); StringBuffer sbin = new StringBuffer(in);//输入 char[] arr = in.toCharArray(); String HexMoving = "";//16进制偏移 StringBuffer sb = new StringBuffer("");//拼接每一行字符串


for(int i=0; i<arr.length/16; i++){
        HexMoving = Integer.toHexString(i*16);
        //如果少于8位  前面补零
        if(HexMoving.length() < 8) {
            for (int j = 0; j < 8 - HexMoving.length(); j++) {
                sb.append("0");
            }
        }
        sb.append(HexMoving);
        sb.append("  ");
        //每16字节 转16进制  用空格做间隔
        for (int j = i*16; j<(i+1)*16; j++){
            sb.append(Integer.toHexString(sbin.charAt(j)));
            sb.append(" ");
        }
        sb.append("  ");
        //加入原字符串
        sb.append(sbin.substring(i*16, (i+1)*16));
        System.out.println(sb.toString());//输出并换行
        HexMoving ="";//重置位移变量
        sb.delete(0,sb.length());//清空
    }
}
//abcdefghabcdefghabcdefghabcdefgh
}

图片说明