\r \n 回车换行符详解

  • 1. \r \n 回车换行的含义
    • 1.1 \r 回车
    • 1.2 \n 换行
  • 2. \r \n 回车换行的历史
    • 2.1 \r \n 回车换行的历史
    • 2.2 发展:linux 和 windows的不同
      • 2.2.1 去除windows的\r
  • 参考:

1. \r \n 回车换行的含义

1.1 \r 回车

  1. 回车 CR (carriage return)

  2. 含义:return oldline begin
    光标回到一旧行(当前行)的开头。(即光标目前所在的行为旧行)

  3. 回车符 ‘\r’ ASCII值为13 (’\x0a’),()

1.2 \n 换行

  1. 换行 LF (line feed)
  2. 含义: newline begin
    另起一新行,光标在新行的开头;
  3. 换行符’\n’ASCII值为10( ‘\x0d’ )

2. \r \n 回车换行的历史

2.1 \r \n 回车换行的历史

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

  2. CR和LF
    在那个时代,CR和LF很多时候都会单独使用。
    比如说制作表格的时候,要求列对其,就只用LF不用CR,
    反之,如果打错了,就要把打错的地方拿涂改液涂掉,按CR重打。
    如果要重启一行新行,就要按一下CR再按一下LF(反过来当然也行),根据计算机系统的不同,
    回车键实际的情况除了单CR,单LF,CRLF,LFCR,还有一些其他的格式。

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

2.2 发展:linux 和 windows的不同

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

  2. linux windows的区别
    Unix系统里,每行结尾只有"<换行>",即"\n";
    Windows系统里面,每行结尾是"<回车><换行>",即"\r\n";
    Mac系统里,每行结尾是"<回车>"。

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

2.2.1 去除windows的\r

sed -i “s/\r//” 文件

参考:

https://www.zhihu.com/question/29326647
https://cloud.tencent.com/developer/article/1353286
http://www.ruanyifeng.com/blog/2006/04/post_213.html

\r \n 回车换行符详解相关推荐

  1. linux换行符 r,\r \n 回车换行符详解

    \r \n 回车换行符详解 \r \n 回车换行符详解 \r \n 回车换行符详解1. \r \n 回车换行的含义1.1 \r 回车 1.2 \n 换行 2. \r \n 回车换行的历史2.1 \r ...

  2. Qt——“\r\n“回车换行符在Linguist里不奏效(无效果)?

    系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 提示: 文章目录 系列文章目录 前言 环境 问题 解决 1.简单粗暴--直接在Linguist的翻译里按下"E ...

  3. C语言中空格符,制表符,换行符详解

    空白符的含义模糊,通常是指空格' ',其ASCII码为32. 制表符为'\t',相当于4个或8个空格符,其ASCII码为9. 换行符为'\n',作用是将光标移至下一行,其ASCII码为10. 此外,还 ...

  4. html+正则+换行+回车,正则与回车换行符使用详解

    这次给大家带来正则与回车换行符使用详解,正则与回车换行符使用的注意事项有哪些,下面就是实战案例,一起来看一下. C#中,读取文本文件内容,里面往往有许多回车换行符("\r\n"), ...

  5. 回车符('\r')和换行符('\n')

    换行符'\n'和回车符'\r' 顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符 '\n'换行(newline)(十进制表示为10) '\ ...

  6. php 替换回车tab,PHP替换回车换行符的三种方法

    小小的回车换行,在不同的平台有着不同的实现. 为什么要这样,世界是多样的! 推荐学习:PHP视频教程 本来,在Unix / Linux世界换行用\n, Windows为了体现不同,就用\r\n, 更有 ...

  7. php 将换行符替换,PHP替换回车换行符的三种方法

    小小的回车换行,在不同的平台有着不同的实现. 为什么要这样,世界是多样的! 推荐学习:PHP视频教程 本来,在Unix / Linux世界换行用\n, Windows为了体现不同,就用\r\n, 更有 ...

  8. JS替换空格回车换行符

    JS替换空格回车换行符 str=str.replace(/\r/g," ") str=str.replace(/\n/g,"<br />")  或 ...

  9. C# 中的回车换行符 表示

    在 C# 中,我们用字符串 "/r/n" 表示回车换行符. string str = "第一行/r/n第二行"; 但是我们更推荐 Environment.New ...

最新文章

  1. android 底部弹框 BottomSheetDialog 的使用
  2. java request get json数据_Java中,获取request中json数据
  3. Lyft开源L5自动驾驶数据集:55000个人工标注的3D注释框架,还有高清空间语义地图...
  4. NumPy学习笔记(一)
  5. 行为模型实例 php,JS中事件模型的实例详解
  6. elementui下拉框 清空_巧妙解决element-ui下拉框选项过多的问题
  7. 【转】C#运算符重载**
  8. pycharm无法导入本地模块问题
  9. 在线涂鸦画板小程序源码
  10. Java反射示例教程
  11. oracle operation_type,oracle静默安装
  12. android 混音 源码,FFmpegAndroid android 端基于 FFmpeg 实现音频剪切、拼接、转码、混音、编解码;视频剪切、水印、截图、转码、编 @codeKK c开源站...
  13. 【Flink】Flink 没有keyBy 某个 subTask 没有数据
  14. Luogu P4478 [BJWC2018]上学路线 卢卡斯+组合+CRT
  15. 2021显著目标检测(SOD)方向部分论文汇总
  16. python 字符串模板_Python字符串模板
  17. Win8.1开机速度慢解决办法
  18. 微信支付金额为0.01分报错,和少一分钱的解决办法
  19. linux 内核usb,Linux 内核示例程序 usb_skeleton.c 详解
  20. Hadoop3.0.3-SYNTH运行

热门文章

  1. 安装kuboard-kubernetes图形化管理工具
  2. 编写一个程序btree.cpp, 实现二叉树基本运算
  3. The Little Prince-12/16
  4. javascript 中cookie的存储,获取cookie,删除cookie的方法
  5. 基于 Python 监控股票涨停情况
  6. iOS 开发中容易忽略的UIKit概念
  7. Cisco VM-FEX 及其他FEX
  8. 线性表顺序存储结构的基本操作(C++)
  9. 苹果iPhone 4发货时间推迟到7月14日
  10. IDEA2021.2 JRebel CPU占用高