Unicode"退格"U + 0008的目的是什么?

ski*_*ulk 10 unicode control-characters backspace

Unicode字符'BACKSPACE'(U + 0008)在编程中的目的是什么?它可以用于什么应用程序?

Kei*_*son 12

嗯,这是一个退格角色.

在输出到终端时,它通常将光标向左移动一个位置(取决于设置).在输入时,它通常会删除最后输入的字符(取决于应用程序和终端设置),但DEL/DELETE字符也用于此目的.通常可以通过按Backspace或输入Control-H

请注意,删除字符的操作仅在显示屏上显示,而不在内存中.正在运行的程序中的字符串几乎可以包含任何字符序列(可能取决于语言),包括退格.在这种情况下,它通常只是另一个角色.例如,在C中strlen("abcd\b")是5,而不是3.

在C和许多其他语言中,它在程序源中表示为'\b'.它有时显示为^H.

所有这些都适用于它是否表示为Unicode.退格字符对于大多数或所有字符集都是通用的:ASCII,Latin-1,各种Unicode表示 - 甚至EBCDIC都有退格字符(但代码不同).

  • `"this\b"`的长度为5.在字符串中添加退格符不会从字符串中删除字符.其删除字符的操作发生在显示屏上,而不是内存中. (3认同)
  • 具有ascii模式的打印机应该支持它,因为它是ASCII的一部分.但是用退格键强调的程序(例如`man`)通常会生成`_\bA`,而不是'A\b_`.这样,在没有重击的终端上,这封信会覆盖下划线,而不是相反. (2认同)