擦除字符

来自GSXAB的知识库
擦除字符
术语名称 擦除字符
英语名称 delete character
别名 DEL, rubout character
全一字符
术语名称 全一字符
英语名称 eight ones
别名 EO

擦除字符(delete character/rubout character)、全一字符(eight ones)是两个控制字符。擦除字符出现在很多 7 位字符集中,且码位为 0x7F ,即 7 位全为 1 ;全一字符出现在 8 位字符集中,且码位为 0xFF ,即 8 位全为 1 。擦除字符在 ASCII 中为 0x7F ,在 Unicode 中为 U+007F <control-007F>, delete 。全一字符在 EBCDIC 中为 0xFF 。需要指代这两个字符时,分别经常缩写为 DEL 和 EO ,擦除字符也被展示为 ␡ (U+2421 Symbol for Delete)。擦除字符在 ^ 表示法中表示为 ^?

历史

这两个字符有同一类来源。最初这类字符的含义是“这里的字符被删除了”,被处理为空操作,对于打印机等不触发任何动作,或者说总是被忽略掉。在打孔纸带上,任何字符都可以通过全部打孔变成全 1 的字符,因此考虑打孔错误或字符错误需要删除的情况,全 1 的字符就被保留为空操作,这里或许曾经有一个字符,但是删除了,或者说忽略了。因此需要保证这段空字符代表的信息相当于不存在,什么都不做。

现代使用

由于现代硬件不需要在某个字符误写后物理性废弃这个字符的硬件存储设备,擦除字符和全一字符几乎不再被使用。由于 Unicode 的编码时代已经不需要这样的字符,全一字符甚至没有进入 Unicode 。

部分终端驱动中,可能仍然使用擦除字符与退格字符(0x08 BS ^H)之一触发字符的删除。

参考资料