Linux 与 windows 换行符问题

(在本文中 line separator == 行分隔符 == 换行符)
我们来看一下ASCII码中对两个控制字符的定义(ASCII码对照表)

16进制 缩写 名称
\n 0A LF 换行键
\r 0D CR 归位键

以下是操作系统之间的差异

OS 换行符 缩写 ASCII码
windows \r\n CRLF 0D0A
linux \n LF 0A
mac \r CR 0D

本人因为在实习时使用windows操作系统和ubuntu虚拟机,因为会遇到一些换行符的问题,如下

  1. 如果把windows的文件不经过转换放在linux下,当我们去一行行读文件的时候,系统会识别'\n'为换行符而不是'\r\n',所以识别后每行后面会留下一个'\r',对应的ASCII码是'0D',可能会造成问题。
  2. 如果在Linux中运行windows下编辑的脚本,是运行不了的,可以通过查找将'\r\n'替换成'\n',如果有配合脚本运行的外部文件,也务必要查看这些文件的换行符是否正确。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容