在java中显示 unicode
字符显示“?”符号。例如,我尝试打印“अ”。它的 unicode
编号是U+0905,html表示是“अ”。下面的代码打印“?”而不是 unicode
字符。
char aa = '\u0905';
String myString = aa + " result" ;
System.out.println(myString); // displays "? result"
有没有办法直接从 unicode
本身显示 unicode
字符而不使用 unicode
数字?即“अ”保存在文件中,现在在 jsp 中显示文件。
原文由 Redone 发布,翻译遵循 CC BY-SA 4.0 许可协议
Java定义了两种类型的流,字节流和字符流。
System.out.println() 无法显示 Unicode 字符的主要原因是 System.out.println() 是一个字节流,只处理 16 位字符的低位八位。
为了处理 Unicode 字符(16 位 Unicode 字符),您必须使用基于字符的流,即 PrintWriter。
PrintWriter 支持 print() 和 println() 方法。因此,您可以像在 System.out 中使用它们一样使用这些方法。