终于记住回车和换行cr lf的来由和含义了 -参考: http://www.cnblogs.com/me115/archive/2011/04/27/2030762.html
回车: carriage return, 是将光标在同一行中, 回到当前行的 行首. 回来的本意就是 返回.. 所以 是同一行的行首. CR
换行: line feed: feed: 饲养(动物); 喂养(孩子); 供给, 供应的意思. LF
回车 用 \r 符号表示, 十进制值是 13, 十六进制是: 0x 0d.
换行: 用 \n 表示, 十进制值是10, 十六进制是 0x 0a
unix 类系统, 适用 的是 换行, lf, \n, mac系统适用 的是 回车 \r, CR 而windows 系统使用的是 回车+ 换行: CR/LF
所以, unix/mac系统下的文本文件, 在windows下, 会全部是一行, 而 windows ->unix系的文本文件, 在每一行的末尾, 会多一个控制符号 : ^M就是 \r的符号.
历史由来:
- 电传打字机, 每秒打10个字, 1个字占0.1秒, 打完一行字后, 要把打字头 移动到下一行的开头, 需要 花 0.2秒时间. 那么, 如果 这时候 , 有字符连续传送过来时, 就会有2个字符被丢失.
- 所以, 如果在 "要打的文字信息内容 的每一行末尾, 加上两个 字符(0.2秒) 的 "占位符" --什么字符都可以, 只是起到占位的作用, 那么当 打字机的打印头移动下一行的开头位置时, 就刚好过去0.2秒, 那么文字信息的内容, 里面两个占位符的时间也是0.2秒, 就刚好接到 新的字符内容, 而不会丢失.
-为了将这两个占位字符 更形象化, 就跟 打字头 的动作 相一致, 打字机的打字头 移动一行的头部, 给一个符号 叫 carriage return 即CR即 回车( 这个车, 指的是 打字机头)
而打字机的纸张向上/下 送给新的一行, 叫做 line feed,即LF/
这个就是 CR/LF的由来. 后来将这个 设计 移动/移植到 计算机中来, 让 每个文本文件 的 每一行, 也用 这种分割换行符号. 当时由于存储器比较昂贵, 对于计算机中的文本文件, 如果在每一行的末尾 加上这些 CR/LF符号后, 比如会增加文件的大小, 增加文件的字节数/ 存储大小. 所以, 在不同的系统中, 对这个 CR LF就发生了分歧,
在 类Unix系统中,使用 \n LF 来分割,
在Mac中使用 \r来分割,
而在 Win系统中, 则适用 CR lf : \r\n来表示.
注意 , 这个时候, 的 CR LF 已经就没有 电传打字机的 0.2 秒占位符的 意思了. 而是, 只是说 作为 文本文件中, 每一行的 分割符号了. 更有甚者, 就是 在 程序设计, 编程语言中, 将这些 \n \r作为语句的结束符号, 作为 编程语言的 编译器/解释器 作为 语法 分析的 主要 依据了!
而 linux中的 col 命令: 就是 : CR or LF 的意思??? 就是用来过滤 控制字符的 意思, 主要 用在 如 man command等命令 的 输出 中 用 管道 来 过滤 这些 控制 字符 然后输出 到 普通文件中 比如: man ls | col > ls.help
cols------------???????????/
终于记住回车和换行cr lf的来由和含义了 -参考: http://www.cnblogs.com/me115/archive/2011/04/27/2030762.html的更多相关文章
- 替换换行符:回车换行CR/LF
windows采用回车+换行CR/LF表示下一行,UNIX/Linux使用换行符LF表示下一行,MAC OS系统使用用回车符CR表示下一行. CR使用符号'\r'表示, ASCII码是13: LF使用 ...
- CR, LF, CR/LF 回车 换行
[时间:2016-07] [状态:Open] 本文主要介绍"回车"(Carriage Return)和"换行"(Line Feed)这两个概念的来历和区别. C ...
- 回车(CR)换行(LF)的来历及区别
转自https://blog.csdn.net/lw370481/article/details/8229344 一.回车”(Carriage Return)和“换行”(Line Feed)起源 回车 ...
- 细说"回车"和"换行"的故事
引言 最近在php还有c#以及memcache的shell当中经常看到\r\n的写法,刚开始还没注意, 不过后面感觉这样写有些不对头,\r表示回车 \n表示换行,那这样不是换行了两次吗? 为了解决疑 ...
- [转]CR, LF, CR/LF区别与关系
http://weizhifeng.net/talking-about-cr-lf.html 前言 在文本处理中,CR(Carriage Return),LF(Line Feed),CR/LF是不同操 ...
- CR, LF, CR/LF区别与关系
前言 在文本处理中,CR(Carriage Return),LF(Line Feed),CR/LF是不同操作系统上使用的换行符,具体如下: Dos和Windows采用回车+换行CR/LF表示下一行 而 ...
- CR LF CR/LF
CR:Carriage Return,对应ASCII中转义字符 '\r' (0x0D),表示回车LF:Line Feed,对应ASCII中转义字符 '\n' (0x0A),表示换行CRLF:Carri ...
- 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 ...
- 回车与换行的区别:CRLF、CR、LF
引言 以下是 MySQL 8 导出数据的窗口,导出数据时需要选择记录分隔符,这就需要你明白 CRLF.CR 和 LF 分别代表什么,有何区别,否则可能导出数据会出现莫名其米的问题. 名词解释 CR:C ...
随机推荐
- 《大话设计模式》c++实现 模版方法模式
模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 角色: (1)AbstractClass:是抽象类,其实也 ...
- hdu5371 manacher + 线段树
这题说的找出一个数组串 3等分 第一个部分和第3个部分一样,第二个部分和第一个部分回文,那么计算出这些字符串问这样的字符串最长为多少,我们先使用manacher 计算出每个位置以他为对称轴左边端点的最 ...
- Java多线程-----理解CountDownLatch
CountDownLatch简介 CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier.Semaphore.ConcurrentHa ...
- Azure Messaging-ServiceBus Messaging消息队列技术系列2-编程SDK入门
各位,上一篇基本概念和架构中,我们介绍了Window Azure ServiceBus的消息队列技术的概览.接下来,我们进入编程模式和详细功能介绍模式,一点一点把ServiceBus技术研究出来. 本 ...
- QT 继承QWidget && 继承QDialog
工作项目中,利用到Qt对话框,场景需求: 1. 一部分窗体需要继承自QWidget 2. 一部分窗体需要继承自QDialog 3. 两者均需要去掉标题栏图标,同时能够自由拖动. 如果两者分开继承实现, ...
- OpenCV学习笔记(一) - 边界填充、Rect函数
边界填充: c++实现,测试在mac pro里,输入720p时间0.4ms: cv::copyMakeBorder(image, dst, , , , , cv::BORDER_REPLICATE); ...
- JsonPath:从多层嵌套Json中解析所需要的值
问题 应用中,常常要从嵌套的JSON串中解析出所需要的数据.通常的做法是,先将JSON转换成Map, 然后一层层地判空和解析.可使用 JsonPath 来解决这个问题. 给定一个 JSON 串如下所示 ...
- Shell 脚本编程基础
通过本文记录学习Linux Shell的一些笔记思考和总结,以加强记忆和理解.主要学习参考资料有: 1.<鸟哥的Linux私房菜-基础篇>第四版 2.菜鸟教程——Linux教程 3.ear ...
- Java基础整理
一.Java中的遍历 1.在java开发中会碰到遍历List删除其中多个元素的情况,如果使用一般的for循环以及增强的for循环,代码会抛出异常ConcurrentModificationExcept ...
- QPointer,QSharedPointer,QWeakPointer的区别
QPointer,QSharedPointer,QWeakPointer的区别与使用例子(QSharedPointer类似Delphi里的引用计数,是强引用,而QWeakPointer是弱引用,不影响 ...