add by zhj: 不同操作系统下换行符不同,如下:

\n: UNIX

\n\r: window

\r: MAC OS

我们经常遇到的一个问题就是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

在输入文本时,回车键一敲,就开始了新的一行,这个习惯性用法难免误导 C/C++ 的初学者们对 回车符(CR, Carriage Return)'\r' 和 换行符(LF, Linefeed)'\n' 的理解,这里这个问题我们暂且放下,后文再谈。先让我们来看看关于“回车”的有趣历史来源。

关于“回车键”的来历,要追朔到机械英文打字机的时代。在这种打字机上有个叫“字车”的部件,大概就是下面那个部分,会左右不停地跑的那东西。

当输满一行后,使用者就要把“字车”推到起始位置,这时打字机就会有两个动作,一是“字车”归位,二是滚筒上卷一行(相当于“字车”下移一行),这样就可以开始输入下一行了,这里推动“字车”的动作就称为“回车”。

上述打字机的“字符”归位的动作就相当于我们的 回车 '\r',只回到行首而仍在当前行,而滚筒上卷的动作就相当于 换行 '\n',移动到下一行。回车符 '\r' 对应 ASCII 码的16进制是 0x0d,10进制是 13,换行符 '\n' 对应16进制是 0x0a, 10进制是 10。

而不同的系统对回车的处理是不同的:在我们常用的 Windows 系统中用 "\r\n"两个字符来表示,如图,在第一行与第二行之间有两个字符位,分别是 0D 0A,即 ASCII 码对应的 '\r'和'\n'。这样的表示方法就和打字机的行为很相似了。

那么,同样的方法,在 Linux 上会是什么情况呢?请继续看。

在 Linux 上通过 vim 我们看到,在 a, ab, abc 之间只有一个字符位了,对应的是 0a,即 ASCII 码中的 '\n',这就说明在 Linux 上只用了一个换行字符来表示。

python回车和换行的区别_回车与换行的区别(转)相关推荐

  1. python回车和换行的区别_回车与换行的解释~!

    Unix/Linux和Windows回车换行 Linux/Unix下的回车符与windows下的不同,Linux/unix下的回车符是'0d',而在windows下则是'0d0a', 据说这和电脑刚开 ...

  2. python 实例方法和类方法的区别_实例方法和类方法的区别 python

    展开全部 有区别的,最主要的区别在于,定32313133353236313431303231363533e58685e5aeb931333363363433义类方法主要是要加一个装饰器,@classm ...

  3. 华为p10和p10plus区别_华为p10和p10plus区别,华为p10和p10 plus有什么区别?

    华为p10和p10 plus有什么区别?华为p10和p10plus区别对比怎样?华为在上海举办旗舰新品发布会盛典,正式在中国市场推出华为P10和P10 Plus两款新品.那么华为P10和华为P10Pl ...

  4. python回车和换行的区别_回车与换行的区别 - bithup的个人空间 - OSCHINA - 中文开源技术交流社区...

    区别: \r: 全称:carriage return (carriage是"字车"的意思,打印机上的一个部件) 简称:return 缩写:r ASCII码:13 作用:把光标移动到 ...

  5. java换行转义字符串_回车,换行,转义字符“\r”,“\n”是什么关系?

    1."回车"这个名词的来历. 关于"回车键"的来历,还得从机械英文打字机说起.在机械英文打字机上,有一个部件叫"字车",每打一个字符(原为单 ...

  6. python生成器和迭代器区别_生成器、迭代器的区别?

    迭代器是一个更抽象的概念,任何对象,如果它的类有 next 方法和 iter 方法返回自己本身,对于 string.list. dict.tuple 等这类容器对象,使用 for 循环遍历是很方便的. ...

  7. python递归和循环的区别_递归与伪递归区别,Python 实现递归与尾递归

    递归函数在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函 数.(1) 递归就是在过程或函数里调用自身.(2) 在使用递归策略时,必须有一个明确的递归结束条件,称为递归出 ...

  8. python换行符号长度_创建带换行符的可调整大小/多行Tkinter/ttk标签

    是否可以使用自动换行创建多行标签,该标签的大小与其父级宽度同步?换句话说,当您更改记事本窗口的宽度时,记事本的换字行为. 用例是一个对话框,它需要完整地呈现多行文本(指令)块,而无需剪裁文本或求助于滚 ...

  9. python中文本文件和二进制文件的区别_文本文件和二进制文件的区别

    定义 广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名.狭义的二进制文件即除文本文件以外的文件.文本文件是一种由很多行字符构成的计算机文件.文本文件存在于计算机系统中,通常在文本文件 ...

最新文章

  1. group by详解
  2. 东北大学计算机学姐,东北的大学怎么样?聊聊哈工大、吉大、大工、东北大学、东北师大...
  3. vue computed 使用小问题
  4. sip-selvet 环境搭建
  5. Abbey加入了FreeCodeCamp团队,担任编辑
  6. python获取绝对路径_python - OS(一)获取绝对路径
  7. Java垂直镜像,Java OpenCV实现图像镜像翻转效果
  8. linux 查看usb端口_linux开发:Linux下查看端口占用
  9. JAVA大数据-Week3-DAY5
  10. 文件读写: 二进制方式和文本方式的区别
  11. ios带嗅探器的浏览器_MAC系统下 有没有像WIN系统的傲游浏览器那样有嗅探功能的呢?...
  12. 酒店管理系统(前台后台管理)
  13. 单片机lcm显示字符程序C语言,手把手教你学单片机的C语言程序设计(十六).pdf...
  14. 传新版支持光追的 MikuMikuDance 正由另一人研发——MikuMikuDance 2 Project
  15. 沈阳移动打造“爱贝通”、“校讯通”业务助少年儿童健康成长
  16. 小学校计算机教室年度工作总结,小学计算机教师年度工作总结
  17. Script Identification of Multi-Script Documents: A Survey
  18. SylixOS 技术简介
  19. mybatis 父子级树形结构查询
  20. 萌宠历险记html5游戏在线玩,7724萌宠历险记

热门文章

  1. CentOS上Docker的安装卸载及Docker简介
  2. 缓存穿透、缓存击穿、缓存雪崩区别
  3. [转载]打工辛酸路:我是一朵飘零的花之120
  4. 动态修改el-input样式;动态修改elmentUI元素样式;css变量
  5. 破解电脑密码,删除SAM文件破解密码,破解WindowsXP密码
  6. 对象转json,json添加转义符
  7. @JsonField 不起作用
  8. Unity 场景异步加载(加载界面的实现)
  9. matlab氢原子杂化轨道,用matlab实现氢原子的sp杂化轨道可视化.docx
  10. ChatGPT 免费在线体验