• 回车和换行的来历与区别


    回车和换行的来历与区别

    ”回车”(carriage return)和”换行”(line feed)这两个概念的来历和区别

    这两种概念来源于一种叫做电传打字机(Teletype Model 33)的机器,”回车”意思是告诉打字机把打印头定位在左边界;”换行”意思是告诉打字机把纸向下移一行。

    \r (Carriage Return):将光标移动到行首而不前进到下一行
    \n (Line Feed):将光标向下移动到下一行,而不返回到该行的开头。在 *nix 环境上 \n 意味着移动到行首。
    \r\n (End Of Line)\r \n的结合

    Unix/Linux系统里,每行结尾只有<换行>,即\n
    Windows系统里面,每行结尾是<回车><换行>,即\r\n
    Mac系统里,每行结尾是<回车>。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

    CRLF 作为换行符的文本文件经常被称作 DOS 格式文件, 而以 LF 作为换行符文本文件, 被称作 UNIX 格式文件

    CRLF 还是 LF

    如果进行跨平台的协同工作, 特别是使用 git 进行代码版本管理, 最好统一换行符, 建议使用 LF(即\n) 作为换行符

    使用 file 命令查看 dos 格式文件:

    $ file test.log 
    test.log: Unicode text, UTF-8 text, with CRLF line terminators
    
    • 1
    • 2

    使用 file 命令查看 unix 格式文件:

    $ file test.log 
    test.log: Unicode text, UTF-8 text
    
    • 1
    • 2

    dos 和 unix 的相互转换

    dos 格式文件转换成 Unix 格式文件, 就是把 CRLF 替换为 LF; unix 格式文件转换成 dos 格式文件, 就是把 LF 替换为 CRLF

    dos2unixunix2dos

    • dos2unix: dos 格式文件转换为 unix 格式文件
    • unix2dos: unix 格式文件转换为 dos 格式文件

    reference

    Difference between \n and \r?

  • 相关阅读:
    C++学习笔记(二十八)
    专车架构进化往事:好的架构是进化来的,不是设计来的
    百度飞桨各个库版本记录!
    算法通关村第十一关白银挑战——位运算符的高频算法题
    change DLL文件名
    AtCoder Beginner Contest 278 F
    Matlab与Python的reshape使用区别
    SpringBoot线程池和Java线程池的用法和实现原理
    docker基础
    高频前端面试题汇总之HTML篇
  • 原文地址:https://blog.csdn.net/cclethe/article/details/126455112