我正在查看捕获文本文件,它显示从ASCII中的十六进制值获取的符号。在Notepad ++中,它还显示来自00 to 1F
的符号,它们由this webpage很好地映射出来,您可以找到包含扩展值及其十六进制和十进制数here的完整ASCII表。我知道它们本来是控制字符,但有没有办法在java中显示它们?
我可以在我的java程序中显示所有其他ASCII符号,但不能显示带有STX NUL EOT SOH
等符号的那些符号,这些符号来自0 to 31
的十进制值,{十六进制{1}}。
以下是来自here的ASCII表的快照
这是我用来打印出来的代码。
00 to 1F
非常感谢任何帮助!!
答案 0 :(得分:1)
这里的问题是您将值显示为char,因此它将由控制台自动解释为具有特定显示方式的字符。
如果要显示与记事本视图匹配的内容,您可能必须使用表格来显示不可打印的字符,如下所示:
private static final String[] myTable = {"NUL", "SOH", ... };
public String getCharAsString(char value) {
if(value <= (char) 0x1F) {
return myTable[value];
} else {
return "" + value;
}
}