当前位置: 首页 > news >正文

\r和\n不同系统的区别

文章目录

  • 一、\r和\n的来源
    • 1、回车和换行来源
    • 2、关于字符
      • 2.1、可显示字符
      • 2.2、不可显示字符(控制字符)
  • 二、\n和\r差异
    • 1、不同操作系统中的回车换行
    • 2、影响

一、\r和\n的来源

1、回车和换行来源

  在最初的电传打印机时代,每打完一行需要换行的时候,耗费的时间正好是打印两个字符的时间。那么如果这段时间内正好传来两个字符,就会打印不出来。所以当时就在一行的最后增加了两个字符,一个叫做"回车",告诉打字机把打印头定位在左边界;另一个叫做"换行",告诉打字机把纸向下移一行。

2、关于字符

  ASCII是基于拉丁字母的一套电脑编码系统。至今为止共定义了128个字符;其中33个字符无法显示(一些终端提供了扩展,使得这些字符可显示为诸如笑脸、扑克牌花式等8-bit符号),且这33个字符多数都已是陈废的控制字符。控制字符的用途主要是用来操控已经处理过的文字。在33个字符之外的是95个可显示的字符

2.1、可显示字符

  • 可显示字符编号范围是32~126(0x20-0x7E),共95个字符

在这里插入图片描述

2.2、不可显示字符(控制字符)

  • 控制字符的编号范围是0-31127(0x00-0x1F和0x7F),共33个字符
  • \r 回车符:回到一行的开头,对应ASCII值13(缩写:CR)
  • \n 换行符:另起一行,对应ASCII值10(缩写:LF)

在这里插入图片描述

二、\n和\r差异

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

  • \r是回车,\n是换行,前者使光标到行首,后者使光标下移一格。通常用的Enter是两个加起来
  • 有的编辑器只认\r\n,有的编辑器则两个都认。所以要想通用的话,最好用\r\n换行

1、不同操作系统中的回车换行

  • Windows中,每行结尾是“回车+换行”,即\r\n
  • Linux/Unix系统里,每行结尾用换行LF,即\n
  • MacOS 1-9,每行结尾用回车CR 即\r;之后的版本MacOS X/OS X/macOS,每行结尾用换行LF,即\n

2、影响

  • 在Windows里打开Unix/Mac系统中创建的文件,会发现所有文字会变成一行,因为没有“回车+换行”来更换新行
  • 在Unix/Mac下打开Windows中创建的的文件,在每行的结尾,多余的回车符可能会被显示为^M或^J

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SpringBoot注解大总结
  • 关于Spring Boot的自动配置
  • 《Unity3D网络游戏实战》通用服务器框架
  • Unity动画模块 之 3D模型导入基础设置 Materials
  • 从【人工智能】到【计算机视觉】,【深度学习】引领的未来科技创新与变革
  • 【PostgreSQL003】PostgreSQL数据表空间膨胀,磁盘爆满,应用宕机(经验总结,已更新)
  • vue项目实现postcss-pxtoremvue大屏适配
  • 【运维】在 CentOS 7 中修改 `http_proxy` 设置
  • 从0-1开发一个Vue3前端系统页面-9.博客页面布局
  • 8月18日笔记
  • 访客管理系统 - 在线版 识别身份证文字信息
  • Android -- 谷歌地图绘制
  • MySQL数据库专栏(四)数据库操作
  • 汽车IVI中控OS Linux driver开发实操(二十四):I2C设备驱动的编写
  • Token Compensator:无需重新微调即可改变视觉Transformer的推理成本
  • Druid 在有赞的实践
  • echarts花样作死的坑
  • Fundebug计费标准解释:事件数是如何定义的?
  • httpie使用详解
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JAVA SE 6 GC调优笔记
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • spark本地环境的搭建到运行第一个spark程序
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 力扣(LeetCode)965
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 入口文件开始,分析Vue源码实现
  • 思维导图—你不知道的JavaScript中卷
  • 微信开源mars源码分析1—上层samples分析
  • 携程小程序初体验
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 译米田引理
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • 阿里云服务器购买完整流程
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • # C++之functional库用法整理
  • # Redis 入门到精通(七)-- redis 删除策略
  • (09)Hive——CTE 公共表达式
  • (12)目标检测_SSD基于pytorch搭建代码
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (pojstep1.1.2)2654(直叙式模拟)
  • (二)正点原子I.MX6ULL u-boot移植
  • (回溯) LeetCode 46. 全排列
  • (蓝桥杯每日一题)love
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转载)深入super,看Python如何解决钻石继承难题
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .net 4.0发布后不能正常显示图片问题
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...