废话少说直接上表格
换行符 英文全称 ASCII编码符号 ASCII编码值 用途
CR Carriage Return \r 表示回车 13 MacIntosh操作系统(即早期的Mac操作系统)采用单个字符CR来进行换行
LF Linefeed \n 转义字符表示换行 10 Unix/Linux/Mac OS X操作系统采用单个字符LF来进行换行
CRLF Carriage Return & Linefeed \r\n 表示回车并换行 NULL Windows操作系统采用两个字符来进行换行,即CRLF
闲谈

据野史记载,在很久以前的机械打字机时代,CR和LF分别具有不同的作用:LF会将打印纸张上移一行位置,但是保持当前打字的水平位置不变;CR则会将“Carriage”(打字机上的滚动托架)滚回到打印纸张的最左侧,但是保持当前打字的垂直位置不变,即还是在同一行。

当CR和LF组合使用时,则会将打印纸张上移一行,且下一个打字位置将回到该行的最左侧,也就是我们今天所理解的换行操作。

随着时间的推移,机械打字机渐渐地退出了历史舞台,当初的纸张变成了今天的显示器,打字机的按键也演变为了如今的键盘。在操作系统出现的年代,受限于内存和软盘空间的不足,一些操作系统的设计者决定采用单个字符来表示换行符,如Unix的LF、MacIntosh的CR。他们的意图都是为了进行换行操作,只是当初并没有一个国际标准(或者其他原因,鬼知道),所以才有这样字符上的不同。

结论

许多现代的文本编辑器和命令行工具都提供了可选择的换行符配置,方便用户按照自己的意愿来改变换行符的表现形式,所以我们只需要知道CRLF、CR、LF的作用即可。

当时没有搞清楚,再写C++期末大作业管理系统设计时吃了不少亏,现在放出来希望能对大家做一个提醒,(我当时烦的错误应该是文件读写时前后文本文件字符编码集读写前后出现了变化,导致windows的CRLF换行符和Unix对的换行符混用导致文件读写失败)

换行符CR,LF和CRLF相关推荐

  1. 中label换行问题_如何巧妙处理 Git 多平台换行符问题(LF or CRLF)

    选自<旷世的忧伤> 作者:旷修 http://blog.konghy.cn/2017/03/19/git-lf-or-crlf/ 禁止二次转载 自从工作以后,基本上没有接触过 Window ...

  2. Git 多平台换行符问题(LF or CRLF)

    2019独角兽企业重金招聘Python工程师标准>>> 自从工作以后,基本上没有接触过 Windows 系统,偶尔使用 Windows 也是因为要写文档,Linux 下勉强可以用 W ...

  3. 如何在Bash脚本中将DOS / Windows换行符(CRLF)转换为Unix换行符(LF)?

    本文翻译自:How to convert DOS/Windows newline (CRLF) to Unix newline (LF) in a Bash script? How can I pro ...

  4. IDEA和VS code设置默认换行符为LF

    相信用Git的人对这个问题非常了解了,如果团队没做好约定,或者新人不太会用git,用的又是windows,git又没有开启autocrlf,那么当队友修改了代码提交之后,那画面真的是不忍直视. 所以索 ...

  5. eslint 换行_javascript – 预期的换行符为“LF”,但在Eslint中使用gulp找到“CRLF”换行符...

    当在gulp项目中使用eslint时,我遇到了像这样的错误的问题.预期的linebreaks为'LF',但是发现'CRLF'linebreak-style,我正在使用 Windows环境运行gulp, ...

  6. git 换行符LF与CRLF转换问题

    git 换行符LF与CRLF转换问题 一.背景 在各操作系统下,文本文件所使用的换行符是不一样的.UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是0x0D(CR),后来 ...

  7. git 换行符LF与CRLF转换问题 IDE的默认换行符设置为LF

    在各操作系统下,文本文件所使用的换行符是不一样的.UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致 ...

  8. linux cr换行符,回车符CR和换行符LF

    我在Windows电脑上做开发时,经常会见到这个现象.代码从远程git仓库clone下来后,然后npm install安装依赖后,打开任意一个代码文件会看到每行结尾处有如下报红: 将鼠标指针停留在行尾 ...

  9. pycharm批量修改文件换行符CRLF为LF

    背景 在win系统配置远程SSH解释器, 并同步文件后, 导致所有文件换行符全变为CRLF, Git Commit时发现Changelist有很多文件, 那么怎么全部换回来LF呢? 解决方案 (1) ...

  10. eslint 换行_预计的换行符是apos;LFapos;,但在Eslint中使用gulp发现apos;CRLFapos;换行符 Dovov编程网...

    预计的换行符是'LF',但在Eslint中使用gulp发现'CRLF'换行符 在使用eslint的时候,我遇到了这样的错误 Expected linebreaks to be 'LF' but fou ...

最新文章

  1. LINUX下文件字符集编码查看与转换并文件名编码转换
  2. boost::gil::scoped_channel_value用法的测试程序
  3. jupyter下Tensorflow-ssd测试整体流程,以及问题no module name**的解决
  4. java 打印hashmap值_HashMap中输出key-value值得方法
  5. 创造自己的专属免费网盘:Nextcloud
  6. 简单实现TabBar的自定义
  7. 设计模式--6大原则--依赖倒置原则
  8. Linux 下删除大量文件效率对比
  9. Android腾讯微博开放平台入门(三)Oauth授权
  10. 如何设置AD域用户仅登录到指定的计算机?AD域管理软件
  11. 职场中警惕七种危险的同事
  12. python自然语言分析_Python自然语言处理-分析句子结构
  13. 支付宝付款弹窗 被浏览器拦截
  14. yocto_evn compile project whithconfigure
  15. eclipse创建Javaweb项目
  16. freeswitch通过limit限制cps
  17. 2018省赛第九届蓝桥杯真题C语言B组第六题题解 递增三元组
  18. 【转】微信公众号h5网页被嵌入广告 不知道什么原因
  19. vim: command not found 绝妙解决方案
  20. springboot 图片映射404问题

热门文章

  1. 单片机入门学习十五 STM32单片机学习十二 电容触摸按键
  2. ubuntu无法定位软件包的问题
  3. 1.微信开放平台 和 微信公众平台 和 商户平台 的区别
  4. telnet 批量测试(二):telnet 批量测试脚本实现关键代码
  5. 论文查重颜色分别代表什么含义?
  6. linux vps 挂qq 教程,【教程】如何在linux vps下进行steam挂卡
  7. Delphi7--运算符和表达式
  8. 自抗扰控制(ADRC)仿真系统(matlab/simulink)的搭建
  9. 6自由度机械臂建模与仿真
  10. APP脱壳之MDEX的使用步骤