得到"?" 对于ASCII值

Eva*_*udd 2 java int char

我想看看ASCII中的所有字符值是什么,所以我写了这个非常快速的循环,执行了以下操作.

for (int i = 0 ; i < 1000; i++){
   System.out.println("(int, char) " + "( "+ i + " , " +(char) i + "     )");
}
Run Code Online (Sandbox Code Playgroud)

我得到的结果似乎不正确.他们罚款高达128.然后我得到的是问号,这里有一些结果......

(int, char) ( 121 , y )
(int, char) ( 122 , z )
(int, char) ( 123 , { )
(int, char) ( 124 , | )
(int, char) ( 125 , } )
(int, char) ( 126 , ~ )
(int, char) ( 127 ,  )
(int, char) ( 128 , ? )
(int, char) ( 129 , ? )
(int, char) ( 130 , ? )
(int, char) ( 131 , ? )
(int, char) ( 132 , ? )
(int, char) ( 133 , ? )
(int, char) ( 134 , ? )
(int, char) ( 135 , ? )
(int, char) ( 136 , ? )
(int, char) ( 137 , ? )
(int, char) ( 138 , ? )
(int, char) ( 139 , ? )
(int, char) ( 140 , ? )
(int, char) ( 141 , ? )
(int, char) ( 142 , ? )
(int, char) ( 143 , ? )
(int, char) ( 144 , ? )
(int, char) ( 145 , ? )
(int, char) ( 146 , ? )
(int, char) ( 147 , ? )
(int, char) ( 148 , ? )
(int, char) ( 149 , ? )
(int, char) ( 150 , ? )
(int, char) ( 151 , ? )
(int, char) ( 152 , ? )
(int, char) ( 153 , ? )
(int, char) ( 154 , ? )
(int, char) ( 155 , ? )
(int, char) ( 156 , ? )
(int, char) ( 157 , ? )
(int, char) ( 158 , ? )
(int, char) ( 159 , ? )
Run Code Online (Sandbox Code Playgroud)

为什么它们一直作为问号出现在1000之前.除了基本加密之外,它们应该是一堆我永远不需要的数字.任何想法为什么会这样?提前致谢.

Tim*_*m B 5

无论您使用什么来显示输出都无法显示这些字符.

通常,所有显示设备都应对最多127个字符(但请注意,其中一些实际上是换行符,因此不能显示为字形),但超出此范围的字符取决于显示器的功能.

常见的"后备"是替换任何无法处理的字符?字符.您有时也会看到用于此目的的黑色方块.

  • 要扩展:它用`?`替换非[ASCII](http://en.wikipedia.org/wiki/ASCII)字符. (2认同)