【问题标题】:Why are the line endings different in every OS? [duplicate]为什么每个操作系统的行尾都不同? [复制]
【发布时间】:2016-02-04 06:05:01
【问题描述】:

Windows 有一定的格式,如果要在 Linux 中使用文件,则必须转换行尾。行尾不是和其他字符一样吗?为什么要特殊对待?

【问题讨论】:

  • Windows 使用 2 个字符“回车”和“换行”,就像打字机上的 2 个操作一样。 Linux 只使用一个字符,从而打破了整个计算机/打字机的相似性......

标签: operating-system cross-platform line-endings


【解决方案1】:

实际上有多种方式来表示记录。大多数操作系统用于支持带有行数的记录。前 2 或 4 个字节指定了记录的长度。事实上,70-90 年代的 Unix 替代品通常支持索引和随机访问。

Unix 使用简化系统(为了简单起见),只使用换行符来指示记录中断。

这需要终端驱动程序(或应用程序)将<LF> 字符转换为<CR><LF> 对以供显示。否则输入文件会给出

Line 1
       Line 2
              Line 3

而不是

Line 1
Line 2
Line 3

MS-DOG 比 Unix 更简单,并采用了使用 <CR><LF> 对来标记记录结尾的约定。输入文件无需翻译。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-07
    • 2020-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 2016-11-12
    相关资源
    最近更新 更多