Я просматриваю текстовый файл захвата и отображает символы, полученные из шестнадцатеричного значения в ASCII. В Notepad ++ он также отображает символы от 00 to 1F
, которые хорошо сопоставлены this webpage, и вы можете найти полную таблицу ASCII, включая расширенные значения с шестнадцатеричным и десятичным номерами here. Я понимаю, что они предназначены для управления персонажами, но есть ли способ показать их в java?Есть ли способ отображения символов ASCII в java?
Вот что представляет собой пример того, что показано в файле
я могу получить все остальные символы ASCII, чтобы показать в моей Java программы, а не те, с символами, как STX NUL EOT SOH
и т.д. , которые являются значениями от 0 to 31
в десятичном значении, и 00 to 1F
в шестнадцатеричном формате.
Вот снимок ASCII таблицы из here
Вот консольная фрагмент того, что показано в консоли
Это код, я использую, чтобы напечатать это.
FileInputStream fis = new FileInputStream(filePath);
int length = (int) new File(filePath).length();
byte[] buffer = new byte[length];
fis.read(buffer, 0, length);
for (int i = 1; i < hex.length(); i++){
if(i %2 == 0){
String test = String.valueOf(hex.charAt(i-2))+ String.valueOf(hex.charAt(i-1));
System.out.println("Hex: "+test+" hexadecimal: "+Integer.parseInt(test, 16)+" char: "+(char) Integer.parseInt(test, 16));
}
}
Любая помощь была бы принята с благодарностью!
Что такое 'hex'? Он не объявлен в (неполном) коде, который вы предоставили. Кажется, вы преобразовываете свои байты в строку шестнадцатеричных цифр, а затем разбираете их обратно в интегральные значения; есть, насколько я могу судить, никаких оснований для этого процесса «туда и обратно». – VGR