什么是所有操作系统的通用换行符? (LF和CR)

当我用Delphi编写一个文件的时候,它在Windows机器上,它的文本文件在Windows上工作正常。 当我在Mac上使用它时,虽然期望格式有些不同。 在Mac上,换行符不同,它不能总是读取Windows文件。

我怎样才能使我的文件可以通过mac程序?

  • 对于Windows,它是CRLF
  • 对于UNIX,它是LF
  • 对于MAC(通过版本9)是CR
  • 对于MAC OS X,它是LF

简单的事实是,所有的操作系​​统都是不同的。 没有“通用”换行符。 你可以做的最好的是意识到不同之处。

所有操作系统都没有通用的换行符。 你必须使用一些换行,回车换行,还有一些换行换行。

大多数文本编辑器可以处理多种行结尾 – 检查您的文档。 也有很多的工具可以为你翻译行结尾。

在系统单元中有一个基于OS的全局变量DefaultTextLineBreakStyle。 它可以是tlbsLF或tlbsCRLF。 如果是tlbsLF,使用#10,如果是tlbsCRLF使用#13#10。

从系统:

type TTextLineBreakStyle = (tlbsLF, tlbsCRLF); var { Text output line break handling. Default value for all text files } DefaultTextLineBreakStyle: TTextLineBreakStyle = {$IFDEF LINUX} tlbsLF {$ENDIF} {$IFDEF MSWINDOWS} tlbsCRLF {$ENDIF} {$IFDEF MACOS} tlbsLF {$ENDIF}; 

我只是想知道为什么它是一个变种,而不是一个常量。

取代“通用换行符”,您可以编写“通用格式”,例如JSON , XML ,PDF等,这取决于您的输出是否将被用作另一个程序的数据或人类要读取的报告文档。

http://en.wikipedia.org/wiki/Newline

因此,您必须为版本9编写$0D的MacOS,为MacOS X编写$0D