`
dch1287
  • 浏览: 123222 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

关于linux和windows的CR, LF, CR/LF 回车 换行问题

阅读更多
在文本处理中, CR, LF, CR/LF是不同操作系统上使用的换行符.

Dos和windows: 采用回车+换行CR/LF表示下一行.
UNIX/Linux  : 采用换行符LF表示下一行.
MAC OS      : 采用回车符CR表示下一行.

CR用符号'\r'表示, 十进制ASCII代码是13, 十六进制代码为0x0D;
LF用符号'\n'表示, 十进制ASCII代码是10, 十六制为0x0A.

所以Windows平台上换行在文本文件中是使用 0d 0a 两个字节表示, 而UNIX和苹果平台上换行则是使用0a或0d一个字节表示.

一般操作系统上的运行库会自动决定文本文件的换行格式. 如一个程序在windows上运行就生成CR/LF换行格式的文本文件,而在Linux上运行就生成LF格式换行的文本文件。

在一个平台上使用另一种换行符的文件文件可能会带来意想不到的问题, 特别是在编辑程序代码时,有时候代码在编辑器中显示正常, 但在编辑时却会因为换行符问题而出错。

很多文本/代码编辑器带有换行符转换功能, 使用这个功能可以将文本文件中的换行符在不同格式单互换。在不同平台间使用FTP软件传送文件时, 在ascii文本模式传输模式下, 一些FTP客户端程序会自动对换行格式进行转换。经过这种传输的文件字节数可能会发生变化。如果你不想ftp修改原文件, 可以使用bin模式(二进制模式)传输文本。

表一:
标志CRLF
符号 十进制Ascii码数 十六进制数
\r 13 0x0D
\n 10 0x0A


表二:
标志换行
Win/Dos linux,Unix等
\r\n(<CR><LF>) \n(<LF>)                    


所以在用println函数的时候,导致的换行在不同操作系统中可能不一样,在windows下表现的是“\r\n”,使用的时候要注意。


来源:http://koda.iteye.com/blog/660429
分享到:
评论

相关推荐

    关于回车和换行

    ### 关于回车和换行的知识点 #### 1. 回车与换行的历史背景 在计算机技术尚未成熟之前,电传打字机(Teletype Model 33)是一种重要的通信工具,用于发送和接收电报。这种设备的工作原理是通过一系列的机械动作来...

    回车和换行的区别 回车和换行的区别

    这也意味着UNIX/Linux创建的文本文件在Windows系统上可能会因为缺少回车符而出现显示问题。 ### 跨平台文件处理 由于不同操作系统对行结束符的定义不同,这导致了在跨平台文件传输或共享时可能出现的兼容性问题。...

    回车与换行的区别详解

    回车与换行是计算机文本处理中的两个基本概念,它们起源于早期的电传打字机时代,以解决打印头定位和纸张移动的问题。在现代计算机系统中,这两个概念仍然有着重要的作用。 回车(Carriage Return),用字符`\r`...

    回车和换行区别

    在实际应用中,回车和换行的区别会造成一些问题。例如,在 Unix/Mac 系统下的文件在 Windows 里打开的话,所有文字会变成一行;而 Windows 里的文件在 Unix/Mac 下打开的话,在每行的结尾可能会多出一个^M 符号。这...

    CR LF CRLF转换

    在Windows系统中,行尾通常由一个回车字符(CR,Carriage Return)和一个换行字符(LF,Line Feed)组成,合称为CRLF;而在Unix和Linux系统中,仅使用一个换行字符(LF)来表示行结束。Mac OS Classic系统则使用单独...

    回车,换行,tab,空格

    回车(Carriage Return, CR)和换行(Line Feed, LF)是文本文件中用于控制光标移动和文本格式的两个重要概念。在早期的打字机时代,这两个操作是通过物理动作来完成的。电传打字机(Teletype Model 33)在打印文本...

    UNIX回车换行与Windows下的区别

    例如,当在Windows环境下打开一个纯UNIX格式的文本文件时,由于文件中只有换行符(LF),没有回车符(CR),因此Windows系统默认的记事本程序无法识别正确的换行位置,导致所有文本内容被显示在一行内,造成阅读困难...

    windows和linux、Mac系统换行规则的区别.docx

    标题和描述中提到的知识点主要围绕着不同操作系统——Windows、Linux和Mac——在处理文本文件换行规则上的差异。在早期的电传打字机时代,为了防止字符丢失,每行末尾添加了两个字符,一个是回车(CR),另一个是...

    奇怪的回车换行问题

    回车(CR,Carriage Return)字符(0x0D)会将光标移动到当前行的起始位置,而换行(LF,Line Feed)字符(0x0A)则使光标下移一行。 2. **类Unix系统**(如Linux、Mac OS X等):这些系统仅使用`\n`(0x0A)作为新...

    回车键换行.rar回车键换行.rar

    - 在Windows系统中,通常使用两个字符来表示一个新行:先是回车(CR),然后是换行(LF),也就是所谓的CRLF(Carriage Return Line Feed)。 - 在Unix和Linux系统中,只使用一个换行(LF)字符来表示新行。 - 在旧...

    彻底搞清回车(0x0d)和换行(0x0a)

    彻底搞清回车(0x0d)和换行(0x0a) 在计算机世界中,回车符(0x0d)和换行符(0x0a)是两个非常重要的概念,但是很多人对它们的理解却存在一定的混淆。今天,我们就来彻底搞清这两个概念的区别和作用。 首先,...

    Linux和windows中的换行符差异问题.docx

    例如,C语言的`scanf`函数在Linux中读取包含换行符的数据时,可能会读入回车和换行两个字符,导致程序行为不符合预期。解决办法之一是使用特定的命令或工具,如在Linux下使用`tr`命令删除或替换不需要的换行符,例如...

    Linux到WINDOWS文本文件转换程序

    在Linux系统中,每行文本的结束是以一个换行符(LF)表示的,而在Windows系统中,每行的结束则由两个字符组成:回车符(CR)和换行符(LF)。这种差异在跨平台操作时可能会导致文本文件显示不正常,例如,Windows下...

    深入Windows下的回车是回车换行(\r\n)还是换行回车(\n\r)的详解

    Windows操作系统使用回车换行(\r\n)作为一行结束的标识,而Unix/Linux系统则只使用换行(\n)作为新的一行开始的标记,而在早期的Apple Mac OS系统中,回车(\r)就足够表示新行。 回车字符(CR,Carriage Return...

    Windows代码移植到Linux

    Windows平台的文本文件使用CR+LF(回车加换行)作为换行符,而Linux平台只使用LF(换行)。如果不统一换行符,可能会导致源代码在Linux编译器中出现错误。使用适当的编辑工具如EmEditor或秀丸,可以在文件保存时选择...

    关于换行和回车的图文小结

    例如,当一个程序从Windows系统读取文本文件并在Unix/Linux系统上进行处理时,可能需要将CR和LF的组合转换为单独的LF,反之亦然。 在本例中,通过在Windows系统和Linux系统中使用不同的文本编辑器创建相同内容的...

    lotus domino 开发资料 换行符号

    Unix/Linux系统通常只使用LF,而MacOS旧版本使用CR。因此,在处理可能在不同平台上运行的应用时,需要注意这些差异。 在Lotus Domino开发中,正确理解和使用换行符号是创建用户友好、功能完备的应用程序的关键。...

    回车和换行有什么区别?我们平时按下的Enter键是回车还是换行

    回车和换行是计算机文本处理中的两个基本概念,...总的来说,回车和换行是文本处理的基础,理解它们的工作原理以及在不同环境下的表现,有助于解决与文本相关的各种问题,特别是在进行系统间的数据交换和跨平台编程时。

    txt文件换行转换mfc

    例如,Windows系统通常使用回车换行(CR LF,即"\r\n")组合作为一行的结束,而Linux和macOS则使用换行(LF,即"\n")作为新行标志。当在不同系统间传输或处理文本文件时,这些差异可能导致显示问题。因此,进行换行转换...

    linux文本转换程序

    Linux系统使用LF(Line Feed,换行)作为行结束符,而Windows系统则使用CRLF(Carriage Return + Line Feed,回车+换行)作为行结束符。当Linux的LF格式的文本文件在Windows中打开时,因为缺少CR字符,Windows会将LF...

Global site tag (gtag.js) - Google Analytics