Блокнот Windows, не поддерживающий символ новой строки '\n'

Из моего приложения iPhone я выводю данные из текста в файл. При открытии с помощью блокнота Windows данные все находятся на одной строке и там, где должна быть новая строка, присутствует символ блока (показывая, что это непризнанный символ или что-то еще). При открытии с помощью Windows Wordpad он отображается просто отлично.
Будет ли что-то не так в моем коде? Я просто выводю '\n', когда хочу новую строку.

enter image description here

ПРИМЕЧАНИЕ. Он отлично работает с другими редакторами, такими как textedit, MS Word на Mac, а также на окнах.

Ответ 1

В Windows по умолчанию используется \r\n как маркер конца строки. Блокнот только распознает, что другие текстовые редакторы могут знать о других стилях конца строки и правильно отображать.

Ответ 2

Это связано с тем, что \n не представляет полный разрыв строки в Windows. Использование \n - это "Unix" способ выполнения разрывов строк.

В Windows есть текстовые редакторы, такие как Notepad ++, которые обрабатывают обе, но Notepad действительно тупо в этом отношении.

Я предлагаю вам создать настройку в приложении iPhone, где пользователь может выбирать между окончанием строки Windows и Unix - тогда это его ответственность: -)

Ответ 3

Я просто выводю '\n', когда хочу новую строку.

А начиная с мая 2018 года (6 лет спустя) вы получите новую линию!

См. " Знакомство с расширенной поддержкой конца строки в" Блокноте " Мишеля Лопесаего твит)

В течение многих лет Windows Notepad поддерживал только текстовые документы, содержащие символы Windows End of Line (EOL) - возврат каретки (CR) и подачу линии (LF). Это означает, что Notepad не смог правильно отобразить содержимое текстовых файлов, созданных в Unix, Linux и macOS.

Сегодня были рады сообщить, что мы исправили эту проблему!

Начиная с текущей сборки Windows 10 Insider, Notepad будет поддерживать как правило, окончание строк Unix/Linux (LF), окончание строк Macintosh (CR) и окончание строк Windows (CRLF).

Новые файлы, созданные в Notepad, будут использовать окончание строки Windows (CRLF) по умолчанию, но теперь можно будет просматривать, редактировать и печатать существующие файлы, правильно поддерживая формат текущей строки.

Также обратите внимание, что строка состояния указывает обнаруженный формат EOL текущего открытого файла.

См. .bashrc наконец, отображается правильно!

https://msdnshared.blob.core.windows.net/media/2018/05/Notepad-after.png

Ответ 4

wow - это то, что 1980 не может понять \n, вероятно, единственное приложение, оставшееся в современной эпохе, которое все еще ожидает\r\n