Windows-Notizblock unterstützt kein Zeilenvorschubzeichen '\ n'

8

Von meiner iPhone-Anwendung gebe ich Daten aus Text in eine Datei aus. Wenn sie mit dem Windows Notepad geöffnet werden, befinden sich die Daten alle in einer Zeile und wo eine neue Zeile sein sollte, ist ein Blockzeichen vorhanden (was zeigt, dass es ein nicht erkanntes Zeichen oder etwas ist). Wenn es mit Windows-Wordpad geöffnet wird, wird es gut angezeigt.
Ist in meinem Code etwas nicht in Ordnung? Ich gebe einfach '\ n' aus, wenn ich eine neue Zeile haben möchte.

HINWEIS: Es funktioniert gut mit anderen Editoren wie Textedit, MS Word auf Mac und Windows.

    
Ankur 06.01.2012, 08:08
quelle

3 Antworten

13

Die Windows-Standardeinstellung lautet \r\n als Zeilenende-Markierung. Notepad erkennt nur, dass andere Texteditoren möglicherweise andere Zeilenende-Stile kennen und korrekt rendern.

    
Hans Kesting 06.01.2012, 08:12
quelle
2

Dies liegt daran, dass \n keinen vollständigen Zeilenumbruch in Windows darstellt. Die Verwendung von \n ist die "Unix" -Methode für Zeilenumbrüche.

Unter Windows gibt es Texteditoren wie Notepad ++, die beides handhaben, aber Notepad ist in dieser Hinsicht wirklich dumm.

Ich schlage vor, dass Sie eine Einstellung in Ihrer iPhone-Anwendung erstellen, wo der Benutzer zwischen Windows- und Unix-Zeilenendungen wählen kann - dann liegt es in seiner Verantwortung: -)

    
Thorsten Dittmar 06.01.2012 08:23
quelle
-1

Wow ist, dass die 1980er nicht verstehen können \ n wahrscheinlich die einzige App in der modernen Zeit, die noch erwartet \ r \ n

    
guest 11.03.2018 13:05
quelle