Linux和Windows的行字符差问题
Linux和Windows的行字符差问题
linux的换行符在Windows记事本的换行符是由Linux和Windows之间的线差线问题引起的。
首先看一下返回标志和变化线的背景。
关于返回(回车)和换行(换行)这两个概念的起源和区别。
计算机出现之前,有一个游戏叫打字机模型33,可以打10个字符每秒。但有一个问题,那就是,当一条线完成,它需要0.2秒打了两个字符。如果在案件
在0.2秒中,一个新字符再次被传递,该字符将丢失。
因此,开发人员试图通过在每行的结尾添加两个字符来解决这个问题。一个被称为回车符;告诉打字机在左边框上找到打印头;另一个被称为行;告诉打字机向下移动一行。
这就是开关线;返回;也可以从他们的英文名字中看到一两个英文名字。
后来,计算机被发明了,这两个概念也出现在了计算机上,当时内存非常昂贵,一些科学家认为在每行的结尾加上两个字符太浪费了,加上一个。
在UNIX系统中,每行的结尾是,而Windows系统则是,Mac系统的一个直接后果是,UNIX / Mac系统下的文件在
如果窗口被打开,所有的单词都会变成一行。如果Windows文件是在UNIX下打开的,那么每行的结尾都会有一个以上的M符号。
Windows创建的文件以和Linux的UNIX类系统,Mac是。
因此,Windows UNIX文本会改变线路损耗(的UltraEdit软件可以正确识别);反过来,将有一个^ M标志;
在不同的Windows操作系统与文字换行字符和UNIX / Linux操作系统,Windows系统输入换行符在Unix / Linux不会出现,但表明换行;符号^ M(这是Linux系统下的特殊标记,
一个字符的大小不一的组合^和M,它不能被打印出来)。Linux很多文本编辑器(命令行)后将标记显示,弥补自己的换行符,为了避免混乱(只是为了显示,内容添加一个换行符不写的文件,一个特殊的命令将取代Linux Windows换行符换行符),在Unix / Linux系统将在Windows的文本编辑器的文本将被忽略,一团糟。
Windows行是 ,和十六位数:0D0A。
Linux行是,和十六的价值是:0a
因此,当在Linux上存储的文件通过Windows的记事本读取时,就会出现黑点。我们可以在Linux下转换Linux文件格式以获得格式。
unix2dos是Linux的文件格式转换成Windows文件格式
dos2unix是转换格式为Windows Linux文件格式。
删除Windows ^ M linux下的换行符
一个问题是在OJ的句子:在%c读取代码都将报告。后来发现与scanf。使用%的LINUX下的C会读两个字符和 r成你需要删除^ M(和 R)的特点
有很多方法可以删除。
Will a.txt to remove the ^M and write b.txt, cat a.txt tr -d | following command ^M > b.txt is used
注:表中^ M是通过CTRL + V键进入,按Ctrl + m.specifically / R字
在Unix换行符: R
在Dos,换行符: R
具体来说,R的ASCII码是:14。
的ASCII码是:10