`
xubaolin9
  • 浏览: 96757 次
社区版块
存档分类
最新评论
阅读更多

打算好好学学正则表达式,因此先搞清些基本概念,先从回车和换行开始

 

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

 

以下内容摘自阮一峰的blog

 

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

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

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

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

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

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

 

回车: return

换行:new line

 

 

分享到:
评论

相关推荐

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

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

    回车和换行区别

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

    关于回车和换行

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

    回车与换行的区别详解

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

    回车,换行,tab,空格

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

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

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

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

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

    js去除空格和回车符

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

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

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

    奇怪的回车换行问题

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

    ReplaceTrim 函数之asp实现过滤掉字符中所有的tab和回车和换行的代码

    ‘================================================ ‘函数名:ReplaceTrim ‘作 用:过滤掉字符中所有的tab和回车和换行 ‘================================================ Public Function ReplaceTrim...

    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回车换行的效果了!

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

    Windows操作系统使用回车换行(\r\n)作为一行结束的标识,而Unix/Linux系统则只使用换行(\n)作为新的一行开始的标记,而在早期的Apple Mac OS系统中,回车(\r)就足够表示新行。 回车字符(CR,Carriage Return...

    VC RichEdit 2.0响应回车换行

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

    unix系统下的回车.doc

    在UNIX系统中,回车(Carriage Return,CR)和换行(Line Feed,LF)是两个不同的概念,它们在文本处理和输出中扮演着关键角色。在C++或其他编程语言中,我们通常使用`\n`表示换行,`\r`表示回车。 在上述代码示例...

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

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

Global site tag (gtag.js) - Google Analytics