`

CRLF、CR、LF详解

 
阅读更多

 

 

 

名词解释

  • CR:Carriage Return,对应ASCII中转义字符\r,表示回车
  • LF:Linefeed,对应ASCII中转义字符\n,表示换行
  • CRLF:Carriage Return & Linefeed,\r\n,表示回车并换行

众所周知,Windows操作系统采用两个字符来进行换行,即CRLF;Unix/Linux/Mac OS X操作系统采用单个字符LF来进行换行;另外,MacIntosh操作系统(即早期的Mac操作系统)采用单个字符CR来进行换行。


野史

据野史记载,在很久以前的机械打字机时代,CR和LF分别具有不同的作用:LF会将打印纸张上移一行位置,但是保持当前打字的水平位置不变;CR则会将“Carriage”(打字机上的滚动托架)滚回到打印纸张的最左侧,但是保持当前打字的垂直位置不变,即还是在同一行。

当CR和LF组合使用时,则会将打印纸张上移一行,且下一个打字位置将回到该行的最左侧,也就是我们今天所理解的换行操作。

随着时间的推移,机械打字机渐渐地退出了历史舞台,当初的纸张变成了今天的显示器,打字机的按键也演变为了如今的键盘。在操作系统出现的年代,受限于内存和软盘空间的不足,一些操作系统的设计者决定采用单个字符来表示换行符,如Unix的LF、MacIntosh的CR。他们的意图都是为了进行换行操作,只是当初并没有一个国际标准(或者其他原因,鬼知道),所以才有这样字符上的不同。

分享到:
评论

相关推荐

    【技术分享】初识HTTP响应拆分攻击(CRLF Injection) .pdf

    在HTTP协议中,回车(CR,ASCII码13,\r)和换行(LF,ASCII码10,\n)组合成CRLF,用于标记HTTP报文中的各个部分的结束。HTTP报文通常由状态行、多个首部字段、一个空行和报文主体组成。每个首部字段以CRLF分隔,而...

    zOS FTP transfer procedure

    - `PUT 'ascii-crlf-file' 'ascii-no-crlf-file'`: 重新构建ASCII文件并移除多余的CR/LF。 最终得到的`ascii-no-crlf-file`文件就是不包含CR/LF的纯ASCII格式文件,可以准备传输到PC端。 **2. 文件传输至PC端** ...

    URL跳转奇葩姿势详解.pdf

    - **CRLF漏洞**:利用换行符(CR, LF)进行注入攻击。 - **反射XSS**:通过构造恶意链接,使用户在访问时触发JavaScript代码执行。 - **其他猥琐姿势**:可能包括隐藏的URL参数、多级跳转等。 3. **其他跳转方式...

    windows 中 \r\n 区别于 类unix中的\n 疑问理解(crlf回车换行)

    在了解Windows系统中的回车换行符(\r\n)与类Unix系统中的换行符(\n)的区别之前,我们首先需要明白什么是回车(Carriage Return, CR)以及什么是换行(Line Feed, LF)。回车的意思是将光标移回到当前行的开头,而...

    ECPTextStream:ECPTextStream是VBA文本缓冲的阅读器,旨在从VBA管理Microsoft Office应用程序中的文本流

    支持以CRLF,LF和CR字符分隔的流。 在处理CSV等结构化文件时,此功能很有用。 没有内存过载。 正在使用缓冲区读取文本文件,该缓冲区足够小以容纳单个数据行。 最小的CPU过热。 可配置的缓冲区大小。 用纯VBA...

    重生之我是赏金猎人(九)-从本无法触发的xss到梦幻联动挖掘多个致命接口下的XSS触发点1

    CRLF注入是指攻击者利用HTTP协议中的换行符(CR LF,即 `%0D%0A`)注入,可能影响到服务器的处理逻辑,例如在HTTP头中注入额外的指令。在测试中,尝试使用`%0D%0ASet-Cookie:hacker=crlf`来检查是否存在CRLF注入,...

    unity,windows平台编码问题

    - 在Windows系统中,换行符通常由两个字符组成:回车(CR)和换行(LF),即‘CRLF’。 - Unix/Linux系统则只使用一个字符——换行(LF),即‘LF’。 **问题原因**: - 不同的操作系统或开发工具可能使用不同的换行符...

    wgrib2解压命令

    - `-crlf`:在 Windows 系统中,行结束符通常为 `CR LF`(回车+换行),此选项会在每行末尾添加这样的字符组合。 - `-v`:开启详细模式,显示更多的输出信息。 - `-s`:标准库存模式,在详细模式下使用。 - `-v0`:...

    SMTP发送操作实例

    16. **354 End data with <CR><LF>.<CR><LF>**:服务器返回354状态码,指示客户端可以开始发送邮件内容,并以.CRLF.CRLF结束。 17. **Subject: hello hello, everyone!**:邮件主题行。 18. **.**:客户端发送一个...

    第一次实验1

    - 旧版Mac使用CR(0x0d)作为行结束符,而Mac OS X及更高版本与UNIX/Linux一致,使用LF。 - 转换方案: - Windows到UNIX/Linux:`sed 's/^M$//'` 或 `tr -d '\r'` - UNIX/Linux到Windows:`sed 's/$/^M/'` 或 `...

    易语言源码文本分行2.0.7z

    可能的功能包括自动识别并处理不同类型的换行符(如CR、LF或CRLF),支持多行文本的读取和写入,以及提供批量处理文本文件的能力。 在实际应用中,处理文本分行的情况多种多样。例如,当从网络上下载或读取一份长...

    PHP编码规范 最新版

    2. **换行**:使用LF(Line Feed)格式的换行符,避免使用CR(Carriage Return)和CRLF(Carriage Return + Line Feed)格式。 - **原因**:Linux系统默认使用LF格式,而Windows系统使用CRLF格式。统一采用LF格式...

    notepad++ 增强型记事本

    在编程或文件转换过程中,有时需要更改文本的换行符类型,如从Windows的CRLF(回车换行)转换为Linux的LF或Mac的CR。Notepad++ 提供了方便的替换功能,可以轻松实现这些转换,这对于跨平台开发尤其重要。 5. **...

    php编码规范.docx

    避免使用Macintosh的回车符(CR,十六进制值0x0D)或Windows的回车换行符(CRLF,0x0D, 0x0A)。 二、命名规范 1. 类命名:采用层级命名法,如Zend Framework中的"Zend/Db/Table.php"对应类名"Zend_Db_Table"。...

    Xoops模块开发编码标准

    - **行结束符**:采用UNIX标准,即每行以换行符(LF,十进制10,十六进制0x0A)结束,避免使用Macintosh(CR,0x0D)或Windows(CRLF,0x0D, 0x0A)的行结束符标准,以保持跨平台兼容性。 - **多余空格**:行尾不...

    万用表8845/884x说明书中文

    - CR (Carriage Return)、LF (Line Feed) 或 CRLF (Carriage Return + Line Feed)。 - 选择合适的行尾字符,这对于确保数据正确传输非常重要。 ##### 7. 启用和禁用Fluke45仿真回波 - **步骤**: - 进入RS-232...

    zend framework编码规范

    不建议使用 Macintosh 中的回车符(CR,十六进制 "0xD")或 Windows 中的换行加回车符组合(CRLF,十六进制 "0xD,0xA")。 #### A.3. 命名规则 ##### 类命名 在 ZEND Framework 中,类的命名直接反映了其存储路径...

Global site tag (gtag.js) - Google Analytics