CR意思是carriage return,回车,\r,ASCII码为13

LF意思是linefeed,换行,\n,ASCII码为10

当你用一个打字机的时候,asdfghjkl;'右边的那个按钮(在计算机键盘上,就对应着那个Enter键)被按下的时候,打字机的纸张卷动一行,而纸张的水平位置并不变化。打字机上另外还有一个手柄,那个手柄是专用来“回车”的,向左搬动那个手柄的时候,装纸的结构被松开,在弹簧的作用下弹回最右边(相当于打印头回到最左边)。

所以当我们要换行的时候,实际需要两步操作,回车+换行(或者反过来),所以,在VB(含VBScript)里面有一个字符串常量叫做vbCrLf,意思就是回车+换行。CR+LF也是多种协议规定的标准行结束符(RFC0821-SMTP,RFC1939-POP,RFC2060-IMAP,RFC2616-HTTP),在DOS和Windows中,需要另起一行的时候也需要这两个字符。

在Windows的记事本中创建一个文档,直接保存的话你会发现这个文件大小是0字节(保存为ANSI编码),然后,打开这个文件,敲入一个回车符,保存,你会发现这个文件的大小变成了2字节。

但是,为什么在C语言里面只用LF(\n)就可以换行呢?因为C语言的出现就是为了写UNIX操作系统,而UNIX操作系统中以LF为行结束符,并且自动加上那个CR,以便节省一个字节的长度(这样做在当时存储容量不大的计算机上确实是有意义的,而为了不断兼容,到现在这个规定也没有改变)。在C语言中,运行库会在显示时把LF自动转换为CR+LF(注意是运行库,而不是编译器,所以即使打开EXE文件,找到对应的位置,只能找到一个0x0A的LF,而没有CR)。

现有的Linux仍然保持了只用LF当作行结束符的传统,在Windows记事本中打开这种在Linux下写的文本文件就会发现全部内容都在一行上,而在应该换行的地方有一个小黑块,记事本只能处理Windows/DOS格式的文本文件。

在Windows的GUI(图形用户界面)下,对于换行的要求其实并不严格,一般情况下用一个\n都能解决问题,所以在VB中写Msgbox("blah...blah..." & Chr(13) & "blah...blah")或者在C语言中直接用含有\n的字符串来调用一个Windows API(应用程序编程接口),都不会出现问题。

在另外一个主流的操作系统MacOS当中,行结束符是LF+CR,恰好和Windows相反,用记事本打开这种文件——记事本当然也无法处理这种行结束符——就不分行了,比Linux文件的显示方式还要恶心一些,因为,没有一个记号告诉你,这里是新的一行的开始。

ASII码中控制字符CR和LF的含义相关推荐

  1. [转] java - 过滤ASCII码中的不可见字符, ASCII三部分, 各控制字符详解

    标签 PostgreSQL , java , Greenplum , 0x00 , 空字符 , NUL , 数据清洗 , 规则 , 过滤 , 非法字符 背景 原文 http://www.codeweb ...

  2. 过滤ASCII码中的不可见字符, ASCII三部分, 各控制字符详解, 去^@,^M

    今天产品部同事报告了一个BUG,经过调试发现,由于用户输入的字符串中,包含字符0x1E, 也就是"记录分隔符"(Record Separator, Notepad++ 显示为[RS ...

  3. 输入一个字符串,对字符中的各个英文字符,数字,空格进行统计。 按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出

    题目描述: 输入一个字符串,对字符中的各个英文字符,数字,空格进行统计.按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出. 输入描述:输入一串字符. 输出描述:对 ...

  4. ASCII码中不同字符分类、含义及相关技巧

    写在前面 为了正确.具体的总结相关内容,本文内容在一定基础上参考并引用了360百科词条中的内容以及网络上的一些资料,具体的ASCII码详细的介绍可以查看" ASCII代码_360百科 &qu ...

  5. c语言字符码,C语言字符转ASII码

    如何字符转ASII码 什么是ASII码? ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符.标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的 ...

  6. CR、LF、CRLF 都是什么鬼?

    解释 LF (Line Feed):换行符,'\n',表示切换到下一行,ASCII码为10 CR (Carriage Return):回车符,'\r',表示回到当前行的开头,ASCII码为13 CRL ...

  7. Redis源码和java jdk源码中hashcode的不同实现

    一.redis实际上是使用了siphash 这个比较简单,我说的简单是指redis代码比较少不像jdk一样调用C++代码调用栈非常深. 先看这个rehashing.c 主要就是dictKeyHash函 ...

  8. a到z的ascii码值是多少_c语言 ASCLL码中 A~Z和a~z是多少

    展开全部 c语言 ASCII码中,A~Z:65-90, a~z:97-122(分别一一对应).32313133353236313431303231363533e58685e5aeb9313333656 ...

  9. 今天开始学Java 如果统计的个数相同,则按照ASII码由小到大排序输出 。

    题目描述 如果统计的个数相同,则按照ASII码由小到大排序输出 .如果有其他字符,则对这些字符不用进行统计. 实现以下接口:     输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复 ...

最新文章

  1. centos6下jbd2进程占用大量IO处理
  2. Java、Scala和Go语言多线程并发对比测试
  3. 【渝粤题库】陕西师范大学200221 中国思想史 作业(高起专)
  4. LoRa无线通信模块在运动安全上的物联网运用
  5. 实现DIV居中布局三种途径(转)
  6. 摄影测量--测边交会
  7. 查看mysql字符集参数_查看现阶段mysql字符集的参数
  8. 【SQL Server】入门教程-基础篇(二)
  9. 计算机桌面自设提示语,如何在电脑桌面便签上设置每周五自动弹窗提醒?
  10. hdmi接口线_HDMI高清线注意事项
  11. 计算机音乐苹果铃声,iPhone实用技巧:怎么将抖音上的背景音乐制作成手机铃声-苹果手机铃声设置...
  12. 【管理】企业项目的OKR实战
  13. LensFlare Studio for Mac(镜头光晕特效工具)
  14. Raspberry Pi Pico实践系列1-Windows环境下树莓派Pico迷你开发板MicroPython快速上手实践
  15. 快来使用HTTPS吧
  16. AFN的简单介绍及使用
  17. ImageView组件的应用:图片浏览器
  18. 杂谈:SDWAN二级运营商的大杀器 1
  19. 大数据四大常识,不会你敢说自己在做大数据?
  20. 国防科大计算机学院教学科研处,国防科大计算机学院工学博士学位论文 摘要...

热门文章

  1. 简单CRM系统开发(二)
  2. 为什么人到中年就危机了呢?
  3. 20220524 深度学习技术点
  4. MathType 快捷键大全——数学建模神器yyds(告别繁杂的公式)
  5. 为什么说python适合ai_为什么Python被认为是AI和机器学习的最好语言?
  6. Android入门篇(四):自动拨打电话、手动拨打电话
  7. Vue实现百度下拉提示搜索
  8. 有关计算机启动过程的书籍,操作系统—计算机的启动过程
  9. 从零开始学数据分析之数据分析概述
  10. 速卖通新手玩家到底应该怎样使用直通车?它又能给商家带来什么?