- "LF" 的英文全称是"Line Feed",意思是“行进",用于表示 开始下一个行;
- CR的英文全称是Carriage Return,回车,表示移动到当前行的开始位置;
以前都是打字机,你可以理解为打字机的那个打头的位置,Line Feed,就是打字头向下拨动一行,Carriage Retrurn,就是将打头拨到当前行的开始位置,后来有了电脑,打头你可以理解为鼠标的光标了;
好了,接下来说作者的想法,为什么 会用\r \n,来表示转义字符;
-
Line Feed ----> 作者取个\n 这个n来源于line,表示 行的意思,而不是后人误解的newLine,作者是想让读者看到n,就联想到是 行 是换一行的意思;n来源于line 这个英文,有些人为了方便记忆,把\n 理解为“newline”的缩写,我认为newLine不但不好记,还又新增了一个词汇,增加复杂度;与new没有毛线关系;作者 更想表达是line,让你看到n就想到line,想到换行;
-
Carriage Return ---> 这个回车,如何来表示回车呢,大家都知道 return是最容易想到的一个词,故用r,即\r,看到r就联想到 return,就想到回车;
不同操作系统的差异
- windows和dos下的换行用了2个字符,且有顺序,是\r + \n,对应Delphi里的是#13 #10,或直接用sLineBreak可以跨平台屏蔽差异;记住windows下是先回车再换行,即:r + n; 所以每行结尾是“<回车><换行>”,即“\r\n”;
- UNIX/Linux采用换行符(LF)表示下一行; 每行结尾只有“<换行>”,即“\n”
- MAC OS系统则采用回车符(CR)表示下一行; 每行结尾是“<回车>”,即“\r”。
Windows下编写的Shell脚本,直接放到linux/unix下执行会报错,就是因为行结束符不一样导致的;
Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix下打开的话,在每行的结尾会多车一个^M字符。 Dos和windows采用回车+换行CR/LF表示下一行,即^M$($不是换行符的表示,换行符没有表示出来,$是文本结束EOF的表示)
现在好多文本工具都提供了转换功能,如notepad2:
本文来自博客园,作者:del88,转载请注明原文链接:https://www.cnblogs.com/del88/p/12882194.html
分类:
计算机基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2013-05-13 DBGRIDEH 进度条、百分比、列的显示格式(以后很有用途)