TeXbook,附录 C:字符代码——该附录中显示的第三个表格到底是什么?

TeXbook,附录 C:字符代码——该附录中显示的第三个表格到底是什么?

抱歉,没有提供最小工作/演示示例。
问题不在于代码,而在于理解 TeXbook 中的内容。


TeXbook,附录 C:字符代码提供了三个表格。

第一个表显示了(未扩展的)ASCII(它提供从 0(十进制)到 127(十进制)范围内的代码点,并将特定字符双射映射到这些代码点 - 生成的映射集表示 ASCII 定义的具体内容)。

第二张表显示了如何仅使用在编写 TeXbook 时 IT 时代使用的终端/键盘上通常可输入的九十五个字符来访问 (未扩展) ASCII 的所有字符。
由于 TeX 的^^-notation 仅要求九十五个可输入标准字符的严格子集,因此第二张表显示了如何通过^^-notation 访问位于 ASCII 代码点 0(dec) 到 31(dec) 和 127(dec) 中的三十三个 (未扩展) ASCII 字符,您可能无法在编写 TeXbook 时使用的终端/键盘上输入这些字符,并且您仍然无法使用当今的大多数键盘输入这些字符。

但我不知道第三张表显示的是什么:

它与 (未扩展) ASCII 有所不同,但与 (未扩展) ASCII 一样,提供的代码点范围是从 0 (十进制) 到 127 (十进制)。

维基百科等告诉我们“扩展 ASCII”提供从 0(十进制)到 255(十进制)范围内的代码点。

尽管如此,TeXbook 中介绍第三个表格的段落指的是

  • 一些字符编码方案“由麻省理工学院开发,略优于”某物“在斯坦福大学开发”
  • 一个扩展 ASCII 码用于文本编辑和交互式计算”哪个“于 1965 年左右在几所大学开发”

该段还提到了

  • “多年来,斯坦福大学、麻省理工学院、卡内基梅隆大学等学校使用的终端有 120 或 121 个符号,而不仅仅是 95 个。”

请求 1:

有人可以把混乱变为混乱并准确解释 (未扩展的) ASCII 和扩展 ASCII 以及所提到的具有 120 或 121 个符号的终端的方式,而不仅仅是 95 个与偏离 (未扩展的) ASCII 的第三个表相关,但像 ASCII 一样仅在 0(十进制)到 127(十进制)范围内提供代码点。

问题 1:

在 TeXbook 的附录 C 中,您可以找到短语“扩展 ASCII 代码”。
如果您拼出首字母缩略词,您会得到:
“扩展美国信息交换标准代码”。
这很奇怪,也令人困惑。“扩展 ASCII”还不够吗,因为“ASCII”中的“C”代表“代码”?

答案1

为了回答这个问题:

Ulrich Diez 的评论是:

似乎 Knuth 建议 TeX 的内部字符表示方案偏离 ascii,以防使用的计算机系统/终端允许在键盘上方便地键入并在屏幕上显示(例如通过 \message)未涵盖(未扩展)ascii 的符号。他指出,这可能会降低不同计算机之间 TeX 代码的可互换性,并建议旨在广泛使用的 TeX 宏包的设计者坚持使用标准 ascii 字符。

egreg 的评论是:

在编写 TeXbook 时,8 位字符集才刚刚开始出现。Knuth 描述了他所在机构使用的 7 位字符集。现在这已经不是什么重要的事情了。

因此,TeXbook 中的术语“扩展 ASCII 码”似乎并不是指如今术语“扩展 ASCII 码”所指的内容。
在 TeXbook 中,术语“扩展 ASCII 码”不是指提供 256 个代码点(而不是 128 个)的 8 位编码,而是指偏离(未扩展)ASCII 的 7 位编码,TeXbook 的作者认为,当终端/键盘可输入的字符超过通常的 95 个时,这种编码很有用。

第三个表显示了这种编码=字符和代码点数字之间的这组映射。


如果我的理解正确,就会出现一些子问题,如果另一个答案或评论也能解决这些问题,我会很高兴:

  1. 如果我没记错的话,字体编码会将输入字符映射到字形。更改 TeX 的内部字符编码方案是否意味着需要调整所有正在使用的字体编码?

  2. 改变 TeX 的内部字符编码方案 - 这是否意味着需要调整 TeX 的将内容写入文件/屏幕的例程,以确保使用^^-notation 来显示正在使用的终端无法显示的字符?

相关内容