`

回车符与换行符的起源

 
阅读更多

计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。
一个叫做“回车”,告诉打字机把打印头定位在左边界;
另一个叫做“换行”,告诉打字机把纸向下移一行。
这就是“换行”和“回车”的来历.后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。
Unix 系统里,每行结尾只有“<换行>”,即“\n”;
Windows系统里面,每行结尾是“<回车><换行>”,即“ \r\n”;
Mac系统里,每行结尾是“<回车>”,即“\r”。

一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

分享到:
评论

相关推荐

    Linux和windows中的换行符差异问题.docx

    Mac OS早期版本使用单独的回车符(CR,ASCII码13)作为换行标志,但现代的Mac系统已经与Linux一致,使用LF作为换行符。 这个问题的起源可以追溯到早期的电传打字机时代,其中“回车”(CR)是将打印头移回一行的...

    回车和换行区别

    而在 Windows 中,要回车符+换行符("\r\n")才会回车+换行,缺少一个控制符或者顺序不对都不能正确的另起一行。 回车和换行的区别是计算机编程中一个基础概念,了解它们的历史、概念、区别和应用可以帮助我们更好...

    解析PHP处理换行符的问题 \r\n

    本文将深入探讨PHP处理换行符的问题,包括`\r`与`\n`的区别,以及在不同操作系统中的表现和转换方法。 首先,`\r`(回车)和`\n`(换行)是两个不同的字符实体。回车起源于早期的电传打字机,它的作用是将打印头...

    回车和换行的区别 回车和换行的区别

    因此,在Windows中创建的文本文件在其他系统上可能因为只识别换行符而出现格式错误。 2. **UNIX/Linux系统**:在UNIX和Linux系统中,仅使用换行符`\n`来表示行结束。这是因为UNIX的设计理念倾向于简单性和效率,...

    回车与换行的区别详解

    回车与换行是计算机文本处理中的两个基本概念,它们起源于早期的电传打字机时代,以解决打印头定位和纸张移动的问题。在现代计算机系统中,这两个概念仍然有着重要的作用。 回车(Carriage Return),用字符`\r`...

    windows 中 \r\n 区别于 类unix中的\n 疑问说明

    Windows系统使用回车符(Carriage Return, CR)和换行符(Line Feed, LF)的组合,即"\r\n",来标识一个新行的开始;而类Unix系统仅使用换行符(LF),“\n”来标识新行。这种差异源于早期打字机的操作方式,下面将...

    正则表达式大全.pdf

    非打印字符是指那些不可见但具有特殊功能的字符,如换行符、制表符等。常见的非打印字符及其含义如下: - `\cX`:匹配由X指明的控制字符,其中X为A-Z或a-z之一。 - `\f`:匹配换页符。 - `\n`:匹配换行符。 - `\r`...

    dos2unix:Dos2Unix / Unix2Dos - 文本文件格式转换器-开源

    2. **MAC换行符转换**:除了DOS/Windows,`dos2unix`也处理MAC系统的换行方式,即单一的回车符(CR)。通过转换,这些文件可以在其他系统中正确显示和处理。 3. **编码转换**:除了处理换行符,`dos2unix`还支持从...

    AT command

    命令结尾可以是回车换行符(CRLF,即`\r\n`),有的设备也接受单独的回车符(\r)或换行符(\n)。若命令执行成功,设备通常会返回"OK";若失败,则返回"ERROR"或其他错误信息。 3. 常用AT命令 - ATD:拨号命令,...

    PHP正则表达式的说明文档

    非打印字符是指那些在文本中不可见的控制字符,如换行符、制表符等。以下是几个常见的非打印字符及其含义: - `\cx`:匹配由x指定的控制字符。例如,`\cM`匹配一个Control-M或回车符。 - `\f`:匹配一个换页符,等价...

    win_awk.zip

    Linux使用LF(换行符),而Windows使用CRLF(回车换行符)。在处理文本文件时,可能需要考虑这种差异,特别是在分割行时。 6. **系统调用**:AWK脚本中可能包含与系统交互的部分,如系统调用 (`system()` 函数)。...

    最好的正则表达式教程

    - **不可显示字符**:通过特殊字符序列表示不可见字符,如制表符`\t`、回车符`\r`、换行符`\n`。 - 注意:不同操作系统下换行符可能不同,Windows使用`\r\n`,而Unix使用`\n`。 #### 三、正则表达式的引擎 - **...

    ASCII码表(C/C++)

    例如,回车符(ASCII值13)用于将光标移动到新的一行,换行符(ASCII值10)则用于结束一行并开始新的一行。 除了上述常见的字符外,ASCII码还包含了一些特殊控制字符,如: - SOH(Start of Heading,ASCII值1):...

    回车和换行有什么区别?我们平时按下的Enter键是回车还是换行

    回车和换行是计算机文本处理中的两个基本概念,它们起源于早期的机械打字机时代。在那个时候,"回车"(Carriage Return,CR)是指将打印头移动回到一行文字的起始位置,而"换行"(Line Feed,LF)则是指将纸张向上...

Global site tag (gtag.js) - Google Analytics