ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

dos和unix换行符解析

2021-10-07 10:03:29  阅读:242  来源: 互联网

标签:LF 字符 使用 UNIX filename unix CR dos 换行符


在使用Notepad++、UE、Vim等编辑器时,一般都会显示或指定文本文件的类型,即DOS/UNIX/MAC。

那么这3种类型有什么区别呢?

区别就是换行符,即:

  • DOS或Windows使用回车+ 换行(CR+LF)表示下一行(亦即所谓的PC格式,谁让MS最早雄踞PC市场呢,_);

  • UNIX或Linux采用换行符(LF)表示下一行;

  • MAC采用回车符(CR)表示下一行。

为什么会有这种差别呢?

很久以前,人们用老式的电传打字机作为输入设备,它使用两个字符来另起新行。一个字符把滑动架移回首位 (称为回车),另一个字符把纸上移一行 (称为换行)。

当计算机问世后,由于存储器曾经非常昂贵。有些人就认定没必要用两个字符来表示行尾。于是UNIX 开发者决定他们可以用一个字符(LF)来表示行尾。Apple 开发者规定了用 (CR)来表示行尾。开发 MS-DOS (以及微软视窗) 的那些家伙则决定沿用老式的两个字符 。

CR/LF 具体又是哪个字符呢?

在二级制编辑模式下,可以看到CR字符是0D ,LF字符是0A

在Python等编程语言中,一般使用\r表示CR字符,使用\n表示LF字符。

image-20211007094049071

如何在3种文件类型中转换呢?

方法一:使用Notepad++、UE等强大的编辑器,选择相应的操作选项进行转换。

以Notepad++为例,“编辑-文档格式转换”,即可转换到其他格式。

方法二:在Unix或Linux系统上,可以使用dos2unix或unix2dos工具转换。

软件安装,在CentOS上使用yum安装,yum install -y dos2unix;在Ubuntu上,软件名称变更为tofrodos,sudo apt install tofrodos,实际上会安装两个工具:todos(相当于unix2dos),和fromdos(相当于dos2unix)。

方法三:使用sed或tr工具

sed 's/^M//' filename > tmp_filename 其中^M是同时Ctrl+V Ctrl+M按出来的,表示回车

tr -d "\r" filename

附录

ASCII码表

image-20211007094425993

image-20211007094414050

标签:LF,字符,使用,UNIX,filename,unix,CR,dos,换行符
来源: https://www.cnblogs.com/muen2020/p/15375084.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有