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

Unix/Linux和Windows回车换行

Linux/Unix下的回车符与windows下的不同,Linux/unix下的回车符是'0d',而在windows下则是'0d0a',

据说这和电脑刚开始发展时的电传打印机的速度有关。

在计算机还没有出现之前,有一种叫电传打字机(teletype model 33)的玩意,每秒钟可以打10个字

符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒的时间,正好可以打两个字符。要是在这

0.2秒内有字符传过来,就会丢失。

于是,研究人员想了一个办法,解决这个问题。就是在每行后面加两个表示结束的字符。一个叫做“回

车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。

这就是“回车”和“换行”的来历,从它们的英语名上也可以看出一二。

后来,计算机发明了,这丙个概念也就被搬到了计算机上。那时,存储器很贵,一些科学家认为在每行

结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。

Unix系统里,每行结尾只有“”,即“\n”;windows系统里,每行结尾是“”,

即“\n\r”;mac系统里,每行结尾是“”。一个直接后果是,unix/mac系统下的文件在windows里打

开的话,所有文字会变成一行;而windows里的文件在unix/mac下打开的话,在每行的结尾可能会多出一个

^M 符号。

c语言编程时(windows系统)

\r就是return回到本行行首  这就会把这一行以前的输出 覆盖掉  如下:

int main () {

cout << "hahaha" << "\r" << "xixi";

}

最后只会显示xixi而hahaha被覆盖了。

\n 是回车+换行  把光标先移到行首,然后换行到下一行,也就是下一行的行首位:

init main () {

cout << "hahaha" << "\n" << "xixi";

}

为什么我在vi等编辑器下打开一个文本文件会包含 ^M,如何把它去掉呢?(见结论4,5)

为什么我在windows上用记事本打开unix上的文件,文件都不换行?(见结论1)

原因分析:

要解决这个问题,必先弄清unix与windows文本文件的差异:

1)磁盘中windows文本文件,总是以“回车”+“换行”的形式进行换行的。

2)磁盘中unix格式的文件,总是以“换行符”(即:LF,'n')换行,而非“回车换行符”。

(unix规定;unix文本文件保存到磁盘时,总是自动把“回车换行符”转换成“换行符”保存。)

输出到终端时,由终端自动将“换行符”转换成“回车换行符”输出。

容易看出来,windows格式的文件换行时,总是比unix格式的文件多一个“回车”(‘r’)符,这是从老式

的打字机上面遗传下来的,老式的打字机中的回车是指打印头回到行首,换行是指进纸并开始下一行的打印

--------------------------------------  结论 1   -------------------------------------------

这样在windows的记事本中打开unix格式的文件时,因为文件中没有'r',所以无法正常显示,结果会把所有

的内容显示在同一行中。

--------------------------------------- 结论 2   -------------------------------------------

utraedit等工具会自动检测文件中是否包含‘r’,当检查行缺少‘r’时,一般会提示,是否要进行unix到

windows的格式转换。(相信大家都遇到过这个提示信息吧)。

---------------------------------------- 结论 3   -------------------------------------------

utraedit和vi等工具,在保存文件时会自动依照文件原来格式进行保存。即:

如果打开的是windows格式,它会把文件依然按windows格式保存(不进行自动转换)。

如果打开的是unix格式,它会把文件依然按unix格式保存了(不进行自动转换)。

---------------------------------------- 结论 4   -------------------------------------------

向utraedit打开unix格式文件中,通过粘贴板“粘贴” windows格式的若干片断时(或反之,即向

windows格式文件时,通过粘贴板“粘贴”unix格式的若干片断行时),代码片断中的“回车换行符” “不

会”自动转换成单个“换行”符(反之亦然)。这样,该文件中就会出现“回车符”与“回车换行符”。

---------------------------------------- 结论 5   -------------------------------------------

vi编辑器等即能正确显示“规则”的unix格式文件,也能正确显示“规则”的windows格式文件,但对包含

单独的“回车符”,同时成对的“回车换行符”的不规则文件(产生原因见结论 4)。vi将把回车符以^M的

形式显示。

解决办法:

使用类似问题2提供的解决方法即可解决,不再赘述。将unix转换成windows格式时,使用unix2dos或win2unix -r(-r代表反方向)即可。

则显示:

hahaha

xixi

由于可见,如果Linux下应用程序需要读取windows下的文件,需要特殊的文本转换工具才行。比如

editplus2就是不错的工具。

补充:vi要显示所有字符,使用:set list命令。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344540.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤教育】电大中专常见病药物治疗作业 题库

1.作为退热药&#xff0c;阿司匹林的劣势是&#xff08; &#xff09;。 A.口服吸收迅速而完全 B.婴幼儿发热用阿苯片 C.儿童用药可引起Reye综合征&#xff0c;尤其是病毒性感染引起的发热 D.作用于下丘脑体温调节中枢 E.解热镇痛作用较强 错误 正确答案&#xff1a;左边查询 学…

在Spring Boot启动时运行代码

Spring Boot会自动为我们执行很多配置&#xff0c;但是迟早您将不得不做一些自定义工作。 在本文中&#xff0c;您将学习如何进入应用程序引导生命周期并在Spring Boot启动时执行代码 。 因此&#xff0c;让我们看看该框架提供了什么。 1. Bean初始化时执行方法 Spring启动您…

错误:在keystone中无法找到默认角色user_第四章 keystone认证组件安装1

1、在控制节点安装rabbitmq、memcached组件apt-get -y install rabbitmq-server memcached python-pymysql # 设置openstack用户 rabbitmqctl add_user openstack password #后一个password是密码&#xff0c;需要特别注意&#xff0c;要与后面组件访问时的密码一致 #设置ope…

【渝粤教育】电大中专建设工程法规1作业 题库

1.注册建造师应当在相应的岗位上执业。但同时&#xff0c;国家鼓励和提倡注册建造师( )。 A.一师多岗 B.一师全岗 C.一师专岗 D.专岗专职 正确 正确答案&#xff1a;左边查询 学生答案&#xff1a;A 2.下列规范性文件中,效力最高的是( )。 A.地方性法规 B.行政法规 C.行政规章…

【渝粤教育】电大中专新媒体营销实务 (13)作业 题库

1.新媒体在进行内容传播时&#xff0c;可以做到将文字、图片、视频等同时传播&#xff0c;呈现出&#xff08; &#xff09;的特点。 A.移动化 B.多元化 C.便捷性 错误 正确答案&#xff1a;左边查询 学生答案&#xff1a;A 2.第四媒体发展到宽带互联网阶段成为&#xff08; &a…

ubuntu加了张固态_将ubuntu系统迁移到ssd固态

朋友送了一个固态硬盘给我&#xff0c;因此将原机械硬盘上的系统迁移到固态硬盘上。原机械硬盘(dev/sdb)装有win10和ubuntu双系统。分区情况如下&#xff1a;sda1&#xff1a;ESP分区sda2&#xff1a;资料sda3&#xff1a;资料sda4&#xff1a;swap分区&#xff0c;被我干掉了&…

【渝粤教育】电大中专测量学 (3)作业 题库

试卷答案 1水准面是水体受地球重力的作用而形成的&#xff0c;其物理特点是在同一水准面上的任意一点具有相等的重力势位&#xff0c;上面任意一点的铅垂线都垂直于该点所在曲面的切平面。 A正确 B错误 正确 正确答案&#xff1a;左边查询 学生答案&#xff1a;A 2在地球表面&a…

php cdi_教程:编写自己的CDI扩展

php cdi今天&#xff0c;我将向您展示如何编写CDI扩展。 CDI提供了一种扩展功能的简便方法&#xff0c;例如 添加自己的范围&#xff0c; 启用Java核心类进行扩展&#xff0c; 使用注释元数据进行扩充或修改&#xff0c; 以及更多。 在本教程中&#xff0c;我们将实现一个…

【渝粤教育】广东开放大学 海外社交媒体营销 形成性考核 (45)

选择题 题目&#xff1a;经营战略计划的制定和实施&#xff0c;要以特定的()为依据。 答案&#xff1a;看左侧 题目&#xff1a;战略经营单位是企业值得为其专门制定一种经营战略的()经营单位。 答案&#xff1a;看左侧 题目&#xff1a;从20世纪初到第二次世界大战结束&#x…

centos编译mysql5.6_centos7上编译安装mysql5.6

注意&#xff0c;在做实验室统一关闭防火墙做的&#xff0c;在生产环境需要做防火墙规则的&#xff0c;大家要注意&#xff0c;做的时候尽量都是模仿生产环境的&#xff0c;比如服务一般都在/data/soft下面&#xff0c;尽量避免在/usr/local/下面。安装编译mysql所需要的软件[r…

【渝粤教育】广东开放大学 社会工作综合能力 形成性考核 (27)

选择题 题目&#xff1a;社会工作不同于其他理论性社会科学学科的重要之点是&#xff08; &#xff09;。 题目&#xff1a;关于社会工作价值观操作原则的说法&#xff0c;正确的有( )。 题目&#xff1a;作为一名专业社会工作者&#xff0c;必须遵守的原则不包括&#xff08; …

使用ELK堆栈进行日志聚合

1.简介 随着微服务的使用&#xff0c;创建稳定的分布式应用程序和摆脱许多遗留问题变得很容易。 但是微服务的使用也带来了一些挑战&#xff0c; 分布式日志管理就是其中之一。 由于微服务是隔离的&#xff0c;因此它们不共享数据库和日志文件&#xff0c;因此实时搜索&#xf…

【渝粤教育】广东开放大学 网络整合营销 形成性考核 (53)

选择题 题目&#xff1a; 网络营销应在&#xff08; &#xff09;层面做好格局方面的准备 答案&#xff1a;看左侧 题目&#xff1a; 在互联网社交时代&#xff0c;下列哪个不是其时代特征的产物。&#xff08; &#xff09; 答案&#xff1a;看左侧 题目&#xff1a; 移动端发…

mysql主从延时这么长_MySQL主从延迟问题解决

今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题。坐好了&#xff0c;准备发车&#xff01;主从常见架构随着日益增长的访问量&#xff0c;单台数据库的应接能力已经捉襟见肘。因此采用主库写数据&#xff0c;从库读数据这种将读写分离开的主从架构便随之…

【渝粤教育】广东开放大学 跨文化商务沟通 形成性考核 (42)

选择题 题目&#xff1a; The “OK” sign means in France that you think something is _________. 答案&#xff1a;看左侧 题目&#xff1a; Many words from Chinese and English are different in both the denotational meanings and connotational meanings. Which o…

python的zip方法_python zip()函数使用方法解析

这篇文章主要介绍了python zip()函数使用方法解析,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下参数iterable为可迭代的对象&#xff0c;并且可以有多个参数。该函数返回一个以元组为元素的列表&#xff0c;其…

aes256加密java_使用Java和JCEKS进行AES-256加密

aes256加密java总览 由于最近爱德华斯诺登 &#xff08; Edward Snowden&#xff09;发布了文件&#xff0c;以及针对JC Penny &#xff0c; Sony和Target等在线商业商店的黑客攻击激增&#xff0c;安全性已成为近年来讨论的重要话题。 尽管本文不会为您提供帮助防止使用非法来…

【渝粤教育】电大中专Windows操作系统作业 题库

学习好Windows10应用这门课程&#xff0c;应该&#xff08;&#xff09;。 A重视理论学习 B重视上机操作&#xff0c;多练多试 C只看不练 D可以随便学习一下 正确 正确答案&#xff1a;左边查询 学生答案&#xff1a;B 2在使用Windows时遇到困难&#xff0c;&#xff08;&#…

高可用mysql笔记_MySQL笔记-高可用方案

MySQL笔记-高可用方案一、概述MYSQL高可用方案有多种&#xff0c;本次针对其中部分方案进行实践。包括主从&#xff0c;双主&#xff0c;myqlkeepalived, mysqlmycatkeepalived。纸上得来终觉浅&#xff0c;亲自实验一下。环境信息注意两台机器时间需要保持同步&#xff0c;网络…

【渝粤教育】电大中专办公设备使用与维护 (2)_1作业 题库

1以下哪个不是现代办公硬件需求的主要依赖&#xff08;&#xff09;。 A扫描仪 B计算机 C办公桌 D打印机 错误 正确答案&#xff1a;左边查询 学生答案&#xff1a;B 2现代办公设备可分为计算机、通信&#xff08;&#xff09;三大类。 A电子工具 B办公机械 C路由器 D碎纸机 错…