`
isiqi
  • 浏览: 16538729 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

[转] 回车和换行

阅读更多

转自:http://www.ruanyifeng.com/blog/2006/04/post_213.html

今天,我总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。

在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。

于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。

这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。

后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。

Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回车 >”,即“\n\r”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开 的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

分享到:
评论

相关推荐

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

    其中,“回车”(Carriage Return,CR)和“换行”(Line Feed,LF)是两种用于表示文本行结束并开始新行的控制字符,它们在不同的操作系统中扮演着重要的角色,尤其是在文件的读写和兼容性方面。理解回车和换行的...

    回车与换行的区别详解

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

    回车和换行区别

    回车和换行区别 回车和换行是计算机编程中两个基础概念,但它们的区别和来历却鲜为人知。本文将深入探讨回车和换行的历史、概念、区别和应用,以帮助读者更好地理解和掌握这些基础知识。 历史 在计算机出现之前,...

    关于回车和换行

    在编程时,根据使用的文件操作模式(文本模式或二进制模式),对回车换行的处理也会有所不同。 - **文本模式**:在文本模式下,输入时系统会自动将CR LF转换为单个LF字符,而在输出时,则会将LF字符转换为CR LF组合...

    回车键换行.rar回车键换行.rar

    总结来说,回车键换行是计算机文本处理的基础,它的正确理解和使用对于编写代码、处理文本文件以及进行跨平台通信都至关重要。在处理压缩文件时,需要特别注意文件名和内容中的回车换行符,以确保在各种操作系统上的...

    回车,换行,tab,空格

    而Windows系统在表示新行时则采用了回车换行的组合(CR+LF),即每行结束时同时使用CR和LF字符。Mac系统早期使用回车符(CR)作为新行的表示方式,这反映了其早期产品在文本处理方面的设计选择。 由于不同操作系统...

    vscode在大括号中回车不自动换行缩进的解决方法(一招解决)

    在使用Visual Studio Code (VSCode) 这款强大的代码编辑器进行编程时,有时会遇到一些小困扰,比如在大括号中按下回车键不自动换行并缩进的问题。这个问题对于程序员来说,确实会影响编码的流畅度和效率。本文将详细...

    RichEdit 回车换行的2种方法

    ### RichEdit 控件回车换行的两种方法 在Windows编程中,经常需要用到文本编辑功能。其中,`RichEdit`控件因其丰富的编辑能力和自定义选项而被广泛应用于各种应用程序中。本文将详细介绍如何使`RichEdit`控件在用户...

    oracle中去掉回车换行空格的方法详解

    去除换行update zhzl_address t set t.add_administration_num=replace(t.add_administration_num,chr(10),”);去掉回车update zhzl_address t set t.add_administration_num=...—————————–1、回车换行

    Js 回车换行处理的办法及replace方法应用

    当我们在文本框里输入文字敲下回车后,希望在提交后网页也显示是换行的效果,这时我们需要把... } 2、使用js的replace进行处理 代码如下: str=str.replaceAll(“\n”, “ ”) 这样就可以做到js回车换行的效果了!

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

    而如果以二进制模式读取和写入,如文件"03.txt",则不会发生回车换行的转换,保持了原始的`0d 0a`。 在编程中,理解这些差异非常重要,尤其是在跨平台开发或文件交换时,可能需要进行特殊处理以确保文本数据的正确...

    VC RichEdit 2.0响应回车换行

    ### VisualStudio2008 RichEdit 2.0 响应回车换行知识点解析 在探讨如何在VisualStudio2008环境下使用RichEdit 2.0控件实现回车换行功能之前,我们先来了解一下背景知识。 #### 1. 富文本编辑器(Rich Edit ...

    奇怪的回车换行问题

    理解不同平台和浏览器如何处理回车换行,以及在代码中适当地进行转义和编码,是避免这类问题的关键。在开发Web应用程序时,应确保在前端和后端之间传输的数据正确处理了回车换行,以保证程序的稳定性和兼容性。

    Honeywell扫描枪设置-回车_换行_后缀_扫描器.pdf

    Honeywell扫描枪设置-回车_换行_后缀_扫描器.pdf

    深入Windows下的回车是回车换行(\r\n)还是换行回车(\n\r)的详解

    记得在Windows下学X86汇编语言时,用0DH(\r)和0AH(\n)来输出回车(跳到下一行的开始处)。问题来了,在Windows下...可以看出回车是13和10也就是\r\n,即先回车后换行。 下面我们看看将a和b之间的\r\n互换后会是什么效果:

    excel表格内回车换行

    本文将详细介绍三种在Excel单元格内实现回车换行的有效方法,帮助用户更高效地编辑和整理Excel文档。 #### 方法一:快捷键法——强行换行 **操作步骤**: 1. 在单元格中输入第一行文字。 2. 按下`Alt + Enter`...

    彻底搞清回车(0x0d)和换行(0x0a)

    彻底搞清回车(0x0d)和换行(0x0a) 在计算机世界中,回车符(0x0d)和换行符(0x0a)是两个非常重要的概念,但是很多人对它们的理解却存在一定的混淆。今天,我们就来彻底搞清这两个概念的区别和作用。 首先,...

    js去除空格和回车符

    除了空格、换行符和回车符之外,有时还需要处理其他类型的空白字符,例如制表符(`\t`)或垂直制表符(`\v`)。这时可以通过扩展正则表达式来包含这些字符,如 `/[\s\n\r\t\v]+/g`。 #### 2.3 实战案例分析 假设有...

    vimz中设置回车换行缩进

    ### vimz中设置回车换行...综上所述,通过在`.vimrc`文件中配置 `cindent` 和 `smartindent`,可以有效地改善在Vim中编写代码时的回车换行缩进体验。此外,还可以根据个人喜好调整其他相关设置,以进一步提升编辑效率。

    html编辑器的回车换行问题解决方案

    总之,HTML编辑器中的回车换行问题可以通过预先插入`&nbsp;`或监听`onkeypress`事件并在回车时插入` `标签来解决。虽然这些方法存在一些不足之处,但在大多数情况下,它们足以满足用户对简单换行的需求。在进行...

Global site tag (gtag.js) - Google Analytics