为什么不同平台的行尾不同?甚至为什么编程中会有像行尾这样的术语?
我更喜欢以 Unix/Linux 格式保存我的代码,即使我在 Windows 上。我是否因为不以 Windows 或 MacOS 格式保存而遗漏了什么?行尾在编码中的效果如何。
为什么不同平台的行尾不同?甚至为什么编程中会有像行尾这样的术语?
我更喜欢以 Unix/Linux 格式保存我的代码,即使我在 Windows 上。我是否因为不以 Windows 或 MacOS 格式保存而遗漏了什么?行尾在编码中的效果如何。
在早期,当打字机几乎是从计算机获取输出的唯一方式时,CR 和 LF 做了不同的事情。Unix 开始使用单个字符来标记行尾的传统,可能是因为它使流水线更容易;如果需要,他们的驱动程序可以轻松地将单个 LF 转换为 CR/LF。Linux 主要是一个 Unix 克隆,所以它保持这个约定。其他人出于历史原因坚持使用 CR/LF 约定,尽管这并不是绝对必要的。
某些语言(例如 C、C++ 和 Python)允许您在打开文件时指定文件的类型,二进制或文本。对于文本文件,执行翻译,以便将单个 LF 翻译成操作系统所需的行结束约定。
基本上每个人在创建操作系统时都希望与众不同——Un*x 以 LF 开头,然后 VMS 和 DOS 想要 CR/LF(就像打字机),当然 MAC 想要与众不同,所以他们只选择 CR。
他们只是想让操作系统之间的转移变得更加困难,以便您“购买”到一个
由于评论而添加
取决于程序员 - 如果您需要支持不同的行尾,那么您必须为它们编写代码。例如,您可以为行尾创建一个#define,然后根据编译选项进行此更改