为什么这段代码总是产生’?’的输出

我们知道java遵循unicode系统,它支持多种语言的所有字母表。 我搜索并发现अ的Unicode值是2309,आ的值是2310,这是DEVANAGRI语言的字母表。 我写的代码是这样的。

class Test { public static void main(String args[]) { char a=(char)2310; System.out.println(a); } } 

没问题我写2309或2310的输出是’?’ 总是。 这是怎么回事?

您正在尝试打印控制台字符集不支持的字符。 您可以尝试更改此处提到的控制台字符集无法打印印地语字符