gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 11:08:31 25 4
gpt4 key购买 nike

根据 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 字符吗?

我能得到的最接近的是通过显式地将字符集传递给输出流

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

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

有人知道其他方法吗?

最佳答案

看一下 Unicode 代码表:

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

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

关于Java Formatter 类 %c %C 在控制台上转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32651905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com