精华内容
下载资源
问答
  • 回车、换行、回车换行、硬回车以及软回车 要想一句话说清楚它们之间的关系,不太简单。但认真看完后,会发现它们之间的关系其实也挺简单的。 回车、换行与回车换行 英文缩写 对应按键 英文全称 中文名称 解释 ...

    回车、换行、回车换行、硬回车以及软回车

    要想一句话说清楚它们之间的关系,不太简单。但认真看完后,会发现它们之间的关系其实也挺简单的。

    回车、换行与回车换行

    英文缩写对应按键英文全称中文名称解释转义表达式使用平台
    CRreturnCarriage Return回车(符)将光标移至行首\r1Mac OS 早期版本
    LFEnterLine Feed换行(符)将光标移至下一行\n2Unix, Linux, macOS3
    CR+LF/CRLFEnterCarriage Return and Line Feed回车换行(符)将光标复位后转至下行\r\nWindows & MS-DOS

    简介

    关于 Line feed4,我的理解是“行进”,轴滚而纸进之,是谓换行。也有人说这里的 feed 是“满”的意思。 除此之外,换行常见的英文表达还有:line feed,newline,end of line (EOL),line ending,line break。

    “回车”这一说法的由来5,源于对英文词汇 Carriage Return 的直译。Carriage6 原意为“马车”,但在这里指的并不是“马车”,而是打字机上的一个构件,俗称“字车”。

    起源

    一切都还得从打字机说起。回车换行这一操作最早出现在传统的的打字设备中,例如,要在电传打印机7中另起一行,分为以下两步:

    1. 将 Carriage 复位,移至起始位置,即行首8
    2. 滚筒上卷,带动纸张向上移动一行的距离,以开启新的一行。

    其中,第一步就是回车,第二部就是换行。

    打字机

    MS-DOS 借鉴了这一理念,将 CR+LF 作为系统默认的换行标志。后来的 Windows 也就顺理成章地继承了这一设定。
    Unix 的前身 Multics 选择了 LF,Unix 后来也沿用了 Multics 的方案,Linux 亦从之。
    唯有异教徒 Mac OS9 使用 CR 作为换行标志,但好在后来改邪归正,也加入了 *nix 阵营。
    所以就形成了如今 LFCR+LF 二分天下的局面。

    严格意义上来说,回车是回车,换行是换行,谁也不从属于谁。回车指的是跳回到行首,而换行指的是开启新的一行。本质上,换行和回车并不矛盾,它们只是两个相互配合共同发挥作用的按键。但是在 Windows 中,一个完整的“换行标志”应该包括回车符和换行符这两个部分。

    也许你在 Microsoft® Word 中分别按下 Enter 的时候,你会发现它们并没有什么区别。正是因为人们在换行的时候已经感受不到回车的存在了,所以人们才总是习惯于把回车和换行当作一回事。但请记住,这是错误的,尽管回车键和换行键在大多数场景下没有区别。

    键位分布

    在全尺寸的键盘上,Enterreturn 是两个不同的按键,位于键盘主区的右侧中部的 就是 return,位于小键盘最右下角的按键便是 Enter

    键盘布局-Enter&return
    而在小尺寸键盘上,这两个键共用一个键来表示,由 Enter 字样和 符号两部分组合而成,分别代表 Enterreturn

    键盘布局-Enter

    特殊地,Apple MacBook 系列产品的键盘上一般只有 return,没有 Enter

    键盘布局-return

    是什么原因导致了换行标志的差异性呢?

    *nix 阵营用 LF 作为换行标志并不是无缘无故的,而是特殊历史背景10下的产物。在 16 位的系统中,1 字 = 2 字节 = 16 位,CR+LF 占用 4 个字,而单个 LF 只占 2 个字,在当时那个惜“字”如金的时代,节约每一个比特都是有必要的。所以 *nix 才做此决定。

    如果文本中的换行标志不符合特定平台下的规定,那就不能被正确地识别,这种情况多发生在跨平台开发中。

    例如,将在 Linux 环境中编辑的多行文本在 Windows 环境中用 记事本 程序打开,就会发现变成了原本的多行文字会变成单行文字,这就是因为 Windows 未能检测到有效的换行标志 CR+LF 而导致的问题。

    硬回车与软回车

    硬回车与软回车是排版系统中的概念,用以区分、标记段落层次。二者区别见下表。

    按键英文名称中文名称使用效果通配符
    EnterHard return硬回车段落结束,另起一段^p
    Shift + EnterSoft return软回车段落未完,转至下行^l

    如下图所示,在 Microsoft® Word 每行的换行处,分别用 来表示软回车和硬回车。

    在这里插入图片描述

    题外话

    • 我对 Windows 存在很多偏见,比如它不完全遵循 POSIX 规范、不公开系统源代码11等,但不得不承认,以 Windows 为代表的 CR+LF 换行方式似乎更为科学(逻辑上),毕竟在早期的电传机里就能找到它的原型。

    • 原来的 macOS 还叫作 Mac OS X,但是在当时已有的 OS 里,例如 iOS 和 tvOS,都是以小写字母搭配 OS 来命名的。相比之下,Mac OS X 和 OS X 这种画风的命名就显得格格不入,一点都不符合 Apple 的风格。所以 Apple 决定将新版本的 OS 称作 macOS。所以就有了现在和谐统一的局面:iOS,watchOS,tvOS,macOS。
      (iPadOS 退出了直播间。)

    • 打字机不同于计算机。计算机的文字处理过程是非线性的,而打字机的文字处理过程是线性的,这意味着打字机中的出现的误操作通常是不可逆转的,一旦输错一个字符,很大程度上就意味着要重新编辑。后来,个人计算机的出现改变了这一局面,不仅如此,后来的音视频处理也实现了非线性化编辑,给依托磁带为载体的传统传媒业带来了巨大的影响,造福了广大媒体工作者。

    参考资料:

    Newline - Wikipedia

    Teleprinter - Wikipedia

    Vi Improved - Vim (PDF)

    Hard Break (Return) vs. Soft Break (Shift+Enter) - PolicyStat Learning Center


    1. return ↩︎

    2. newline ↩︎

    3. 包括 OS X ↩︎

    4. feed 除了有“喂养”的含义外,还有“进入”和“供给”的意思。 ↩︎

    5. 巧合的是,在曾经红极一时的 GTA: VC 中,玩家回到车中对应的按键正是“回车”。 ↩︎

    6. 打字机滑架,托架 ↩︎

    7. 即 Teletype。在后文中,Teletype、typewriter、teletypewriter 或 teleprinter,皆统称为“打字机”,它们的区别不在本文的讨论范围内。 ↩︎

    8. 英文原文为“Colum one”,指该行第一列的位置 ↩︎

    9. 后来改名为 Mac OS X,又历经 OS X 最终演变为 macOS。 ↩︎

    10. 字符编码方案的制定可以追溯到二十世纪六十年代甚至更早,由于技术和经济条件上的限制,当时计算机的内存和储存并不像现在一样宽裕。计算机科学家和开发者们必须节省每一个字节,使得计算机资源的利用率达到最大值。
      字符编码方案的制定可以追溯到二十世纪六十年代甚至更早,由于技术和经济条件上的限制,当时计算机的内存和储存并不像现在一样宽裕。计算机科学家和开发者们必须节省每一个字节,使得计算机资源的利用率达到最大值。 ↩︎

    11. 开玩笑啦 ( ̄▽ ̄) ↩︎

    展开全文
  • 奇怪的回车换行问题

    2020-10-28 07:01:02
    一直对回车换行问题没有怎么注意,只知道,在windows中,回车换行是rn (0x0D,0x0A)。
  • 回车换行区别 回车换行区别 回车换行区别
  • outpandoc -f markdown_githubingoogle pandoc 回车换行 http://matrix.sspai.com/p/de2581c0 强制换行支持两种方式:行尾两个空格换行,反斜杆换行。man pandoc /break markdown_github (GitHub-Flavored ...

    out

    pandoc -f markdown_github

    in

    google pandoc 回车换行
    http://matrix.sspai.com/p/de2581c0
    强制换行支持两种方式:行尾两个空格换行,反斜杆换行。

    man pandoc
    /break
    markdown_github (GitHub-Flavored Markdown)

    alg

    cat 1.md

    111
    111

    pandoc -s 1.md -o 1.html
    输出 没换行,空格代替换行

    cat 2.md

    222
    222

    pandoc -f markdown_github -s 1.md -o 2.html
    输出 换行

    sum

    pandoc默认输出html

    展开全文
  • 回车 换行 区别

    2009-09-16 15:52:00
    回车回车(通过vbcr实现)之后,光标在第8行、第0列; 是将光标移动到当前行的行首 换行换行(通过vblf实现)之后,光标在第9行、第20列; (但光标位置:换行时如果是最后一行,则会另起一行,光标在开头。...

      举个具体例子:比如在DOS界面下,当前光标在第8行、第20列。  


      回车:回车(通过vbcr实现)之后,光标在第8行、第0列;   是将光标移动到当前行的行首 


      换行:换行(通过vblf实现)之后,光标在第9行、第20列; (但光标位置:换行时如果是最后一行,则会另起一行,光标在开头。如果下面还有其它行则是列数不变,行数加一,如果列数小于上一行列数,换行后到列尾。)  


      回车换行:回车换行(通过vbcrlf实现)之后,光标在第9行、第0列   就是我们在编辑文本时按ENTER键时的效果。 

     

          

    展开全文
  • Linux、windows下回车换行格式转换 回车换行结尾转换  http://rocolex.blog.163.com/blog/static/6844641020115241629669/ 一、windows的文件到linux下的转换方法: 1. 用sed命令替换 sed -e 's/...

    Linux、windows下回车换行格式转换 回车换行结尾转换 



    一、windows的文件到linux下的转换方法:
    1. 用sed命令替换
    sed -e 's/^M//g' original.txt > target.txt (注意^M 在Linux/Unix下是这样输入的:先按CTRL+v,接着按CTRL+SHIFT+m,呵呵~~ 其实俺主要就是为了记录一下这个输入方法)
    2. 在vi中替换
    :%s/^M//g
    3.sed命令替换
    sed -e 's/.$//' dos.txt > linux.txt

    二、Linux文本传到windows系统,转换方法:
    sed -e 's/$/\r/' 1pnet.txt >dos.txt

    三、其他
    Mac -> UNIX:tr "\r" "\n"<macfile > unixfile 
    UNIX -> Mac:tr "\n" "\r"<unixfile > macfile 
    Microsoft DOS/Windows 约定,文本的每行以回车字符(\r)并后跟换行符(\n)结束。为了纠正这个问题,可以使用下列命令: 
    DOS -> UNIX:tr -d "\r"<dosfile > unixfile 
    UNIX -> DOS:在这种情况下,需要用awk,因为tr不能插入两个字符来替换一个字符。要使用的 awk 命令为 awk '{ print $0"\r" }'<unixfile > dosfile 

    附:

    关于“回车”(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符号。











    1)把Dos/Windows下的文件移至Linux/Unix系统

    虽然很多程序不在乎 DOS/Windows 格式的 CR/LF 文本文件,但是有几个程序却在乎 -- 最著名的是 bash,只要一遇到回车,它就会出问题。以下 sed 调用将把 DOS/Windows 格式的文本转换成可信赖的 UNIX 格式:

    $ sed -e 's/.$//' mydos.txt > myunix.txt

    该脚本的工作原理很简单:替代规则表达式与一行的最末字符匹配,而该字符恰好就是回车。我们用空字符替换它,从而将其从输出中彻底删除。如果使用该脚本并注意到已经删除了输出中每行的最末字符,那么,您就指定了已经是 UNIX 格式的文本文件。也就没必要那样做了!

    2)把Linux/UNIX 文本移至 Windows 系统,使用以下脚本执行必需的格式转换:

    $ sed -e 's/$/\r/' myunix.txt > mydos.txt

    在该脚本中,'$' 规则表达式将与行的末尾匹配,而 '\r' 告诉 sed 在其之前插入一个回车。在换行之前插入回车,立即,每一行就以 CR/LF 结束。请注意,仅当使用 GNU sed 3.02.80 或以后的版本时,才会用 CR 替换 '\r'。


    DOS文件格式如何转换成UNIX文件格式
    ---------------------------------------------------
      dos格式文件传输到unix系统时,会在每行的结尾多一个^M,当然也有可能看不到,但是在vi的时候,会在下面显示此文件的格式,比如 "dos.txt" [dos] 120L, 2532C 字样,表示是一个[dos]格式文件,如果是MAC系统的,会显示[MAC],因为文件格式的原因有时会导致我们的unix程序,或者shell程序出现错误,那么需要把这些dos文件格式转换成unix格式,方法是
    vi  dos.txt       
        :set fileformat=unix
        :w                
      这样文件就转换成 unix格式文件了, 一般在windows机器上编写好了文件传到unix下就可能会出现这样的情况.
      用命令:set ff?
       可以看到dos或unix的字样.
      用:set ff=unix把它强制为unix格式   
      也可以用sed 这样的工具来做:
      sed 's/^M//' filename > tmp_filename
      其中^M是同时 Ctrl+V+M按出来的,表示回车。

    展开全文
  • windows下的回车换行为"\r\n" Linux下的回车换行"\n" "\n" -- newline,换行 "\r" -- return,回到行首
  • 主要介绍了php去除换行(回车换行)的三种方法,需要的朋友可以参考下
  • 本篇文章对Windows下的回车是回车换行(rn)还是换行回车(nr)进行了详细的分析介绍,需要的朋友参考下
  • 回车 换行

    2021-02-14 13:25:52
    回车: carriage return 换行: line feed \n 回车 \r 换行
  • 回车 换行 CR LF

    2017-02-13 12:30:02
    回车 换行 CR LF
  • RichEdit响RichEdit响应回车换行RichEdit响应回车换行RichEdit响应回车换行回车换行
  • UNIX回车换行与Windows下的区别
  • 关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。 在计算机还没有出现之前,有一种叫做电传打字机的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,...
  • Lua操作字符串去除回车换行以及空格 前言 lua的数据结构中string和table用的非常多,基本只要写lua脚本都会大量使用,其重要性不言而喻,这里主要说一下string去除回车换行和空格的方法,主要是在Google上搜到的,...
  • 今天碰到一个问题,用字符串函数SUBSTRING截取字符串,给定的字符串数据中包含回车、换行、回车换行,导致截取失败。将字符串数据中的回车、换行、回车+换行处理之后就可以成功截取了。 1、判断字符串中是否包含...
  • excel表格内回车换行

    2015-06-28 19:21:08
    excel表格内回车换行 的方法
  • 当我们在阅读英文文献时,由于英文水平不高,需要借助于网上在线翻译,但在将文献复制到翻译工具时,往往会出现断行(每行文字都自动加上了回车换行),这就需要自己手动删除,而这个小程序可以很好地解决这个问题,...
  • 本篇文章是对oracle中去掉回车换行空格的解决方法进行了详细的分析介绍,需要的朋友参考下
  • textarea 多行回车换行

    千次阅读 2018-11-24 15:44:08
    textarea 多行回车换行,显示的时候换行设置: 在使用textarea标签输入多行文本的时候,如果没有对多行文本显示处理,会导致没有换行的情况 Css 属性:white-space white-space 属性用于设置如何处理元素内的空白,...
  • 回车 换行区别,怎么读入char型vector

    千次阅读 2015-09-24 18:29:45
    简而言之,打字机要回车,回到开头 carriage return 还需要换行 line feed,...今天,我总算搞清楚"回车"(carriage return)和"换行"(line feed)这两个概念的来历和区别了。 在计算机还没有出现之前,有一种叫做
  • Python 打印回车换行

    2021-03-19 12:01:36
    如果你对 Java 程序比较熟悉的话,你可能知道在 Java 中的回车换行是 \r\n。 当我们在 Python 中同时也使用 \r\n 的时候,我们可能会遇到输出的回车换行是 2 行了。 如上面程序运行的结果所示。 解决方案 ...
  • 回车换行区别

    2013-02-04 16:42:18
    回车换行区别
  • 在一个大文本中(超过1.5G),当有同时存在回车换行以及回车字符结尾时,如果换行结尾的量大于sqlldr默认缓冲1048576时候,会报错在一个大文本中(超过1.5G),当有同时存在回车换行以及回车字符结尾时,如果换行结尾的...
  • 当我们在文本框里输入文字敲下回车后,希望在提交后网页也显示是换行的效果,可往往并不能如愿以偿啊,实在是愤怒啊自己写了一个回车换行处理的函数,感兴趣的朋友可以了解下啊,希望本文对你有所帮助
  • 回车换行

    2012-06-09 16:43:18
    回车换行,虽然经常用到,还是经常搞错这俩的对应关系,弄不清windows中文本结尾是"\r\n",还是"\n\r". 中文名 英文名 缩写 十六进制 转义字符 回车 carriage return CR 0x0D '\r' ...
  • iview自定义回车换行

    2020-03-10 10:17:31
    公司要求做回车换行校验,记录留作备忘。 一开始使用的是 document.getElementsByName("myInput"); 在想要回车换行的Input标签中加入name, 回车事件绑定方法@keyup.enter.native=“tow_verify(13)”, <Input @...
  • js 去除空格回车换行

    2019-06-18 17:45:30
    开发中遇到特殊需求,需要将空格回车换行替换成逗号 直接使用正则表达式解决: 变量.replace(/\s+/g,","); 如果想要去除则将后面逗号变成空就OK了。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 151,770
精华内容 60,708
关键字:

回车换行区别换行回车