美文网首页
回车和换行

回车和换行

作者: simonbaker | 来源:发表于2017-10-17 13:11 被阅读20次
image.png

概念

\r(回车):\r就是return,回到本行行首。跟在后面的字符,会把\r前面的字符替换调,也就是,会把这一行之前的输出用后面的字符来覆盖掉
\n(换行):\n就是回车+换行,把光标先移到行首,然后换到下一行,也就是下一行的行首

背景

在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。

先定位字符在哪里输入(\r),然后再换行(\n)

例子

//php的测试代码
echo "11\r22\n33\r\n44 aa\nbb\rcc\r\ndd";
windows下的结果
linux下的结果
结论:
  1. windows下的\r\n\r\n效果一样,都是换行
  2. linux下的\r,则会回到当前行的行首,后面跟着的字符从当前行首开始输入

操作系统相关

CR(回车)用符号'\r'表示, 十进制ASCII代码是13, 十六进制代码为0x0D;
LF(换行)使用'\n'符号表示, ASCII代码是10, 十六制为0x0A
所以,CRLF指的就是回车+换行

在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符.
Dos和windows采用回车+换行CR/LF表示下一行,
而UNIX/Linux采用换行符LF表示下一行,
苹果机(MAC OS系统)则采用回车符CR表示下一行.
所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示.

进一步结论:

在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符.
Dos和windows采用回车+换行CR/LF表示下一行,
而UNIX/Linux采用换行符LF表示下一行,
苹果机(MAC OS系统)则采用回车符CR表示下一行。
所以,通过CRLF来统一表示在上述平台下的换行。

参考:
回车和换行的区别
wiki-回车
wiki-换行
CR, LF, CR/LF 回车 换行

相关文章

  • 回车和换行

    概念 \r(回车):\r就是return,回到本行行首。跟在后面的字符,会把\r前面的字符替换调,也就是,会把这一...

  • 回车和换行

    作者: 阮一峰日期: 2006年4月30日 "回车"(carriage return)和"换行"(line fee...

  • 回车和换行

    回车(carriage return)和换行(line feed)的由来与区别。在计算机未出现之前,有一种机械英文...

  • 回车和换行

    1.回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别。 https:...

  • Markdown注意事项与技巧

    Markdown注意事项和技巧 MarkDown使用两个空格和回车换行 或者两个回车换行 或者 进行换行 根据实际...

  • 阮一峰大神对计算机的理解

    回车和换行 今天,我总算搞清楚"回车"(carriage return)和"换行"(line feed)这两个概念...

  • 换行符'\n'与回车符‘\r’

    资料来源1:回车与换行的区别 资料来源2:换行符‘\n’和回车符‘\r’ 图片来源: 回车:光标重新回到本行开头,...

  • MarkDown文章测试

    一级标题 二级标题 三级标题 四级标题 一个回车小换行一个回车小换行两个回车大换行 两个回车大换行 标签超大换行 ...

  • 回车和换行问题

    回车和换行在计算机世界我们经常容易弄混淆,通过查看一下资料终于搞明白了,下面分享给大家。 回车和换行的来历 在计算...

  • Excel单元格内换行的操作

    一、自动换行 二、自定义换行(软回车) 在需要换行的地方按ALT+回车! 如何批量删除软回车呢?Ctrl+H

网友评论

      本文标题:回车和换行

      本文链接:https://www.haomeiwen.com/subject/dsvruxtx.html