作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我刚刚测试了退格转义如下:
System.out.println("Hello\b");
我希望得到输出: hell
但它是:带有方 block 的“你好”
有人知道 java 是如何处理这个的吗?
最佳答案
Java 根本不“处理”那个字符。它所知道的只是一个字节流,操作系统说它可以在上面写入字节,并且它会愉快地将字节写入其中,包括一个 ASCII 退格键。
当流接收到该字符时发生的情况与 Java 无关,它完全取决于终端。有些终端会删除前一个字符,有些会将退格字符显示为一些奇怪的字形,甚至显示为特殊的“退格字符”字形。有些人可能会在无法解释该字符的情况下完全放弃该字符,而其他人(实际上是大多数终端仿真器)的行为将根据它们的配置方式而有所不同。但是所有这些都与 Java 无关,无论它们是由 Java 还是 Perl print
或 C++ cout
或其他任何东西编写的,它们都会以这种方式运行。
关于Java 退格键转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3328824/
我是一名优秀的程序员,十分优秀!