为什么要创建像 U+007F(DELETE) 这样的符号?这DELETE不会删除任何东西,我试过了。而且还有很多这样的字符,这里是一个列表:
http ://www.fileformat.info/info/unicode/category/Cc/list.htm
那么为什么需要这样的符号呢?以及如何应用它们?
为什么要创建像 U+007F(DELETE) 这样的符号?这DELETE不会删除任何东西,我试过了。而且还有很多这样的字符,这里是一个列表:
http ://www.fileformat.info/info/unicode/category/Cc/list.htm
那么为什么需要这样的符号呢?以及如何应用它们?
U+007F (DEL,
ЗАБОЙ, )与具有相同时间根的U+0000 (NUL, )ЗБ相反,当时位在物理上用纸上的孔表示。GOST 27465-87 中的符号定义:ПУСТОЗАБОЙ在上面的(人工)示例中,磁带包含 ASCII 编码 (
"Stack Overflow\n") 中的数据。胶带首尾不带孔,对应符号ПУСТО,反之,当所有孔都打完后,对应符号ЗАБОЙ:也就是说,其意图是,如果输入了错误的字符,则可以通过锤击一个仅由 1 组成的字符(即字符)来将其擦除
ЗАБОЙ。与 NUL 一样,DEL 也被忽略(因此最终效果是被覆盖的字符被删除)。实际上,在我的机器上, 终端中的stty
ЗАБОЙ显示了用作控制字符擦除(擦除前一个字符)的内容。在控制台中按下 Ctrl-VBackspace打印^?(ЗАБОЙ以脱字符号表示)。“其他,控制”类别中的 unicode 字符有什么作用?
包括 U+0000 和 U+007F 在内,Unicode 中共有 65 个控制字符(代码点:
U+0000..U+001Fand )是为了与U+007F..U+009FC0 和 C1 控制代码兼容而存在的。Unicode 标准(23.1 控制代码)不会改变这些代码的含义,这些代码通常由应用程序定义, 或者在没有其他语义的情况下由ISO/IEC 6429:1992 标准定义。参见ECMA-48(ISO/IEC 6429 版)标准定义的语义(如果特定应用程序定义了其含义,则可能不会在实践中使用)与 ANSI_X3.4-1968 相比变化不大。来自RFC 20(定义的 ASCII 副本):
如果对 ascii 码的起源感兴趣,可以阅读The Evolution of Character Codes, 1874-1968的非正式历史(关于同轴话题的流畅介绍,Charles Petzold 的书:《Code. The Secret Language of Computer Science》 " 是合适的),以及在将控制字符包含在 Unicode 之前查看控制字符标准的进一步发展: