gpt4 book ai didi

java - Unicode 和控制台解释

转载 作者:太空宇宙 更新时间:2023-11-04 08:47:33 24 4
gpt4 key购买 nike

我在 Java 应用程序中将宽 UTF-8 范围内的一些字符打印到标准输出。我的控制台配置为支持 UTF-8。我的问题是,有时,当我决定打印 10 个字符时,我会看到一些字符少于 10 个。

我认为这是由于控制台解释了一些字符。是否有一些 unicode 字符可以解释为:删除前一个字符?是否可以将它们从输出中排除(这些字符的代码点是什么)?

最佳答案

使用回车或退格字符,您可以获得您所描述的结果。例如这个小测试程序......

public class Test {
public static void main(String... args) {
System.out.println("abc\rdef\u0008g");
}
}

...在我的终端(ubuntu)中打印

$ java Test
deg
$

\r 表示回车符,\u0008 表示退格符。 (回车键将光标返回到第一列,退格键将光标返回一列。)

<小时/>

要删除所有这些所谓的“控制字符”,您可以执行以下操作:

myString = myString.replaceAll("\\p{Cntrl}", "");

来自 the docs :

\p{Cntrl}      A control character: [\x00-\x1F\x7F]

关于java - Unicode 和控制台解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4015592/

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