CR和LF
声明
本文转自:CR和LF - 田野与天 - 博客园 (cnblogs.com)
以下为正文
现在的电脑操作系统主要有windows、unix/linux、macos这三种。
首先,
回车:英文(carriage return ),缩写CR
换行:英文(line feed),缩写LF
在window中,在一个文本结尾常常使用“《回车》《换行》”,"<CR><LF>"或者说是“\r\n”来表示一行结束
在unix和linux系统中,使用的是“《换行》”,"<LF>"或者说是"\n"来表示一行结束
在macos中,使用的是“《回车》”,"<CR>"或者说是"\r"来表示一行结束
然后,让我们看一下ASCII码表
这三者不统一会造成啥问题呢?
最多的就是,当一个文本文件从一个系统移动到另外一个系统的时候,会出现问题。举几个小的例子吧:
例子一:下面的浅色字体(\r\n)表示其实用户并不可见
在windows下有一个文件,内容是这样的:
first line\r\n
second line\r\n
third line\r\n
这个文件到了unix/linux下的话,就会出问题,因为unix/linux只认识"\n",不认识"\r",所以用vim打开以后,文件是这样的
我是第一行^M\n
我是第二行^M\n
我是第三行^M\n
用户就会莫名看到多出来了一些^M在文件的末尾,不知道的以为文件乱码了,其实并不是的。
补充
Linux下去掉^M的四种方法 - 习惯沉淀 - 博客园 (cnblogs.com)
作者:习惯沉淀
如果文中有误或对本文有不同的见解,欢迎在评论区留言。
如果觉得文章对你有帮助,请点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
扫码关注一线码农的学习见闻与思考。
回复"大数据","微服务","架构师","面试总结",获取更多学习资源!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 用 C# 插值字符串处理器写一个 sscanf
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
2016-11-25 linux, configure --prefix=/有什么用
2016-11-25 Java开发中的23种设计模式详解(转)
2016-11-25 Linux安装gcc编译器详解