繁体   English   中英

控制台上的Java Formatter类%c%C转换

[英]Java Formatter class %c %C conversion on console

根据Oracle的官方文档, http ://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html%c或%C运算符应打印Unnicode字符。 但是,这样的代码模拟

System.out.format("%1$c", 97);
产生字符“ a”,该字符与ASCII值相同。 任何大于255的值都将导致“?”

编辑可以通过其他任何方式(例如在控制台上)打印Unicode字符吗?

我能得到的最接近的方法是通过将Character-set显式传递给OutputStream

 char[] toWirte = {913,914,915,916}; OutputStream out = new BufferedOutputStream(new FileOutputStream("test.txt")); out.write(new String(toWirte).getBytes("UTF-16")); 

我想,Writer实现隐式地将UTF-8假定为字符集。

有谁知道其他方式吗?

看一下Unicode代码表:

http://www.unicode.org/charts/PDF/U0000.pdf

十进制97是十六进制61,定义为字符“ a”。 如注释中所述,代码点0到127(00到7F)在Unicode中定义为与ASCII相同。 这是出于兼容性和更容易迁移的目的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM