引言

以下是 MySQL 8 导出数据的窗口,导出数据时需要选择记录分隔符,这就需要你明白 CRLF、CR 和 LF 分别代表什么,有何区别,否则可能导出数据会出现莫名其米的问题。

名词解释
  • CR:Carriage Return,对应 ASCII 中转义字符 \r,表示回车
  • LF:Linefeed,对应 ASCII 中转义字符 \n,表示换行
  • CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行
ASCII 字符表

不同操作系统回车换行符区别

缩写 ASCⅡ转义 系统 ASCⅡ值
CR \r MacIntosh(早期的Mac) 13
LF \n Unix/Linux/Mac OS X 10
CRLF \r\n Windows
  • Windows 操作系统采用两个字符来进行换行,即CRLF;
  • Unix/Linux/Mac OS X操作系统采用单个字符LF来进行换行;
  • 另外,MacIntosh操作系统(即早期的Mac操作系统)采用单个字符CR来进行换行
历史遗留问题

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

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

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

总结

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

回车与换行的区别:CRLF、CR、LF的更多相关文章

  1. Git 换行符检查 CRLF 与 LF

    遇到的问题 在 git 提交或是签出时,提示如下问题: [git] warning: LF will be replaced by CRLF | fatal: CRLF would be replac ...

  2. \r\n回车换行\r回车\n换行的区别

    在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符.但是它有一个问题,就是打完一行换行的时候 ...

  3. CR, LF, CR/LF 回车 换行

    [时间:2016-07] [状态:Open] 本文主要介绍"回车"(Carriage Return)和"换行"(Line Feed)这两个概念的来历和区别. C ...

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

    来源:http://www.52rd.com/blog/Detail_RD.Blog_imjacob_12317.html -------------------------------------- ...

  5. 终于记住回车和换行cr lf的来由和含义了 -参考: http://www.cnblogs.com/me115/archive/2011/04/27/2030762.html

    回车: carriage return, 是将光标在同一行中, 回到当前行的 行首. 回来的本意就是 返回.. 所以 是同一行的行首. CR 换行: line feed: feed: 饲养(动物); ...

  6. 替换换行符:回车换行CR/LF

    windows采用回车+换行CR/LF表示下一行,UNIX/Linux使用换行符LF表示下一行,MAC OS系统使用用回车符CR表示下一行. CR使用符号'\r'表示, ASCII码是13: LF使用 ...

  7. LF: 换行,U+000A VT: 垂直定位,U+000B FF: 换页符,U+000C CR: 回车符,U+000D CR+LF:CR(U+000D)后跟LF(U+000A) NEL: 下一行,U+0085 LS: 分行,U+2028 PS: 分段,U+2029

    https://zh.wikipedia.org/wiki/換行 换行(英语:newline.line ending.end-of-line (EOL).line Feed (LF).line bre ...

  8. shell脚本兼容linux/unix与windows/cygwin的基础(注意处理好CR, LF, CR/LF 回车 换行的问题)

    shell脚本兼容linux/unix与windows/cygwin的基础 :统一文本格式为:unix文本格式,即于LF为换行符(推荐方案) 在notepad上设置:编辑->档案格式转换-> ...

  9. [转]CR, LF, CR/LF区别与关系

    http://weizhifeng.net/talking-about-cr-lf.html 前言 在文本处理中,CR(Carriage Return),LF(Line Feed),CR/LF是不同操 ...

随机推荐

  1. Hibernate(十四篇)

    (一)Hibernate简介 (二)hibernate配置管理 (三)Hibernate对象-关系映射文件 (四)Hibernate API详解 (五)Hibernate一级缓存 (六)Hiberna ...

  2. Unity2D项目-平台、解谜、战斗! 0.2 序言:团队在线协作方案、基线控制

    各位看官老爷们,这里是RuaiRuai工作室,一个做单机游戏的兴趣作坊. 本文跟大家聊一下笔者团队中所使用的在线协作的诸多工具,以及使用这些工具的目的和所记录的内容,希望这些内容在大家团队工作中有所帮 ...

  3. Spring(六)SpringMVC的数据响应

    SpringMVC的请求和响应 SpringMVC的数据响应 01-SpringMVC的数据响应-数据响应方式(理解) 1)    页面跳转 直接返回字符串 通过ModelAndView对象返回 2) ...

  4. 分解uber依赖注入库dig-使用篇

    golang的依赖注入库非常的少,好用的更是少之又少,比较好用的目前有两个 谷歌出的wire,这个是用抽象语法树在编译时实现的. uber出的dig,在运行时,用返射实现的,并基于dig库,写了一个依 ...

  5. @unittest.skip(reason):强制跳转。reason是跳转原因

    在执行测试用例时,有时候有些用例是不需要执行的,那我们怎么办呢?难道删除这些用例?那下次执行时如果又需要执行这些用例时,又把它补回来?这样操作就太麻烦了. unittest提供了一些跳过指定用例的方法 ...

  6. MySQL查询日志介绍

    MySQL查询日志介绍 MySQL的查询日志记录了所有MySQL数据库请求的信息.无论这些请求是否得到了正确的执行.默认文件名为hostname.log.默认情况下MySQL查询日志是关闭的.生产环境 ...

  7. 关于Oracle 数据库使用dba_tables或者all_tables或者user_tables统计数据时,与直接查询表统计时数据不一致的记录

    1. 今天写代码发现这个问题,这里记录一下, 不一致的原因是因为  dba_tables .all_tables.user_tables 不是实时的反应表的数据的,所以需要在查询统计之前对表进行手动分 ...

  8. 【Navicat】获取表结构的DDL语句以及获取更新表字段的操作的DDL

    1.获取表结构的DDL语句 2.获取修改表结构某一字段的DDL语句  设计表-修改表字段(记住不要保存)-SQL预览

  9. 【Springboot】Springboot监听器Demo

    /** * @author: yq * @date: 2020/8/31 0:01 * @description 自定义事件 */ @Data public class MyEvent extends ...

  10. LAMP环境搭建一个Discuz论坛

    LAMP是Linux+Apache+Mysql/MariaDB+Perl/PHP/Python的简称.一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有 ...