当学习汇编语言的时候,我总不理解为什么老师在换行时总会输入特定的字符——一个是被称为“换行符”的符号,另一个是名为“回车符”的标志。背后的故事让我一探究竟。

故事要追溯到那个还没有计算机的年代,一种叫做电传打字机(Teletype Model 33 ASR)的机器成为了流行的办公设备。在这台打字机上,有一个被称为“Carriage”的部件,其作用类似于我们今天所熟知的电脑光标。每当输入一个字符时,光标就会向前移动一格。当一行字符填满后,光标需要重新定位到下一行的最左侧开始新的一轮输入。
两个动作会被触发:一是垂直向下移动光标至下一行,二是水平移动光标至行首。这种打字机每秒可以打印大约十个字符,这意味着每输入一个字符大约需要花费0.1秒的时间。完成上述两个动作大约需要额外的0.2秒时间。如果在这短暂的0.2秒内输入了新的字符,这些字符可能会被遗漏掉。
为了解决字符遗漏的问题,研发人员采取了创新的方法:在每行的末尾添加两个特殊的字符来表示该行已结束。其中一个字符是“回车”(carriage return),它告诉打字机将光标水平移动到行首;另一个字符是“换行”(line feed),它指示打字机垂直移动到下一行。这两个字符的组合构成了打字机时代的一种独特语言密码。
随着计算机技术的兴起,这两个概念被逐渐融入计算机领域。由于当时的存储设备成本高昂,不同的操作系统厂商在处理行尾字符时采取了不同的策略。Unix系统选择仅使用换行符(),而Windows系统则采用了回车和换行的组合(\r)。而Mac系统则使用回车来标示文件的结尾(\r)。正是由于这些差异,我们在不同的操作系统之间切换时经常会遇到文件显示的问题,如文本混在一起或者行尾出现奇怪的字符等。这种混乱情况主要是由于不同系统对行尾字符的处理方式不同所导致的。这就是回车和换行符背后的故事起源。想了解更多关于这方面的知识,可以访问原文出处链接获取更多详细信息。
文章来自《钓虾网小编|www.jnqjk.cn》整理于网络,文章内容不代表本站立场,转载请注明出处。