2014-10-04 321 views
0

我有一个java代码,它读取一个内存文件并显示内容的十六进制值。我想将该输出转换为ASCII。由于我是Java编程新手,我需要您的宝贵帮助。请帮助我做到这一点。如果您有任何想法或任何计划,请发送给我。谢谢。将十六进制值转换为ascii

final FileInputStream fis = new FileInputStream("/path/to/file.dmp"); 

    final byte[] buf = new byte[512]; 
    int readSize = 0; 
    while ((readSize = fis.read(buf)) > -1) { 
for (int i = 0; i < readSize; i++) { 
    final byte curByte = buf[i]; 
    System.out.print(String.format("%02X ", curByte)); 
} 
}fis.close(); 

回答

0

您可以将十六进制字符串分成两组,并使用函数Integer.parseInt(subString, 16);将其转换为整数。然后,您可以将它投射到bytechar

+0

谢谢。我非常感谢你的贡献。 – 2014-10-04 02:40:36

0

可以使用

Integer.toString((int)b, 10); 

这在Java字节级怎么做

+0

谢谢你的回答。对此,我真的非常感激。 – 2014-10-04 03:16:08

+0

请选择此为答案。这将增加点。 – 2014-10-04 03:28:43