CreateArtTechnology / Blog
  • \r和\n行尾符引发的思考
     16     2019-06-20 14:59:16

    背景如果你经常需要在Windows系统和Linux系统之间进行文本传输,就会发现同一个文件在不同系统上的表现形式不一样,比如:
    Linux上编辑好的多行文本文件,在Windows系统展示成一行Windows上编辑好的正常的多行文本,在Linux上展示时行与行之间多了一个换行Linux上编辑好的文本文件通常在Linux和Windows上都能正常被程序识别Windows上编辑好的文本文件通常只能在Windows上正常读取,在Linux上可能有问题导致读取异常Windows中使用print('\n')通常无法换行
    是的,关键问题就出在行尾符上。
    Windows的换行符是\r\n,也就是CRLF两个字符而Linux的换行符是\n,也就是LF字符Mac系统是\r(还有这种操作?)
    使用Notepad++可以显示行尾符
    今天我突发奇想,打算探究一下为何不同系统的换行符定义不同,到底是Windows画蛇添足还是Linux偷工减料Mac自作聪明?究竟是人性的泯灭还是…显然,作为视Windows为“娱乐操作系统”的人,我肯定觉得“专业操作系统”Linux做法是正确的。事实真是这样吗?我们继续往下看。
    ......

    共4张