我刚刚测试了退格转义,如下所示:
System.out.println("Hello\b");
我希望得到输出:地狱
但它是:“你好”的方块
有谁知道java如何处理这个?
解决方法:
Java根本不会“处理”该角色.所有它知道的是一个字节流,操作系统说它可以写入字节,并且很乐意将字节写入其中,包括ASCII退格.
当流接收到该字符与Java没有任何关系时会发生什么,它完全依赖于终端.有些终端会删除前一个字符,有些终端会将退格字符显示为一些奇怪的字形,甚至是一个特殊的“退格字符”字形.有些人可能会完全放弃角色,如果他们无法解释它,其他人(实际上大多数终端模拟器)将根据他们的配置方式而有所不同.但这一切都与Java无关,无论是用Java还是Perl print或C cout还是其他任何东西写的,它们都会表现得那么好.