当我用Delphi在Windows机器上写文件时,生成的文本文件在Windows上工作得很好。但是当我在Mac上使用它时,格式要求略有不同。在Mac上,换行符不同,它不能总是读取Windows文件。
如何使我的文件可被Mac程序读取?
如何使我的文件可被Mac程序读取?
事实上,不同的操作系统使用的换行符是不一样的。并不存在所谓的“通用”换行符。最好的方法是了解这些差异。
不同操作系统的换行符并不统一。有些需要使用linefeed,有些需要使用carriage return,而有些则需要同时使用两者。
大多数文本编辑器都可以处理多种行尾符,请查看相关文档。此外,还有许多实用工具可以为您转换行尾符。
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};
我只是想知道为什么它是一个var而不是一个const。
非常古老的帖子,但仍然非常相关。处理此类情况以及从不同操作系统获取文本数据的最简单方法是首先对信息进行规范化。这是Javascript代码,但您应该能够轻松地将其转换为任何其他语言。
body = body.replace(/(\r\n|\r)/g,"\n");
body = body.replace("\r\n","\n");
body = body.replace("\r","\n");
body = body.replace("\n","\r\n");