gpt4 book ai didi

java - 如何使用Java将Unicode符号U+2610和U+2612打印到Windows控制台?

转载 作者:行者123 更新时间:2023-12-01 21:09:20 24 4
gpt4 key购买 nike

我做什么:

public class Main {
public static void main(String[] args) {
char i = 0x25A0;
System.out.println(i);
i = 0x2612;
System.out.println(i);
i = 0x2610;
System.out.println(i);
}
}

我在 IDE 中得到的内容: What I get in IDE

我在 Windows 控制台中得到的内容: What I get in Windows console

我有 Windows 10(俄语区域设置),控制台中的 Cp866 默认编码,IDE 中的 UTF-8 编码。如何使控制台中的字符看起来正确?

最佳答案

实际上这里有两个问题:

  1. Java 将输出转换为其默认编码,这通常与控制台编码无关。这显然只能在虚拟机启动时被覆盖,例如

    java -Dfile.encoding=UTF-8 MyClass
  2. 控制台窗口必须使用 TrueType 字体才能显示 Unicode。然而,Consolas 和 Lucida Console 都没有 ☐ 或 ☒。因此,它们显示为带有 Lucida Console 的方框和带有 Consolas 的问号方框(即缺失字形字形)。输出仍然很好,您可以轻松复制/粘贴它,只是看起来不太正确,并且由于 Windows 控制台不使用字体替换(无论如何都很难使用字符网格做到这一点),因此您无能为力让他们出现。

我可能只使用 [█][ ][X] 来代替。

关于java - 如何使用Java将Unicode符号U+2610和U+2612打印到Windows控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41480295/

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