2014-01-23 82 views
4

我的web應用程序讓用戶下載文本文件。目前,文本文件具有Unix樣式的\n行結束符,因此,在Windows(也可能是其他Windows實用程序)的記事本中打開時,缺少換行符。由於Notepad在我的用戶中的流行,我正在考慮將行結束符更改爲Windows樣式\r\n。但是這會在非Windows平臺或其他編輯器上造成某種問題嗎? (注意:這些文件正在正在生成,所以我可以在用戶的​​操作系統上調整行結束格式,但是在這一點上,我試圖簡約,並且只是好奇一般來說,使用Django)什麼行結束用於跨平臺兼容性?

+0

如果您希望用戶在他們喜歡的文本編輯器(而不是他們的網絡瀏覽器)中打開文件,我建議使用適合他們操作系統的行尾。我認爲這不是那麼多工作。如果你必須選擇其中一個,那麼我認爲Unix應用程序對'/ r/n'的容忍度比對'/ n'的Windows應用程序容忍度要高。 –

回答

4

我認爲最好的選擇是讓用戶決定。給他們一個下拉框來選擇Windows/UNIX/Mac樣式行結尾。您可以將文件標準化爲UNIX風格的結尾,因爲它們是最容易處理的。

我不確定您是否可以使用通用樣式的行尾生成文本文件。大多數工具(如git)規範化了他們的文件,並讓用戶配置他們喜歡的輸出風格。傑夫寫了a great article on line endings這進入了一些歷史背景。