Seite 1 von 1

End of Line Kodierung ändern

Verfasst: 6. Juni 2006 22:45
von Schwarzherz
Weiß jemand wie ich beim Speichern einer Datei die End of Line Kodierung umstellen kann? Also, dass ich zwischen Windows/Unix/Mac Format umstellen kann.

Verfasst: 6. Juni 2006 23:03
von FlorianBecker
Also ich mache das immer manuell, aber wenn es da etwas einfacheres geben würde, bin ich immer gerne für eine Lösung zu haben.

Re: End of Line Kodierung ändern

Verfasst: 7. Juni 2006 23:21
von patrik08
Schwarzherz hat geschrieben:Weiß jemand wie ich beim Speichern einer Datei die End of Line Kodierung umstellen kann? Also, dass ich zwischen Windows/Unix/Mac Format umstellen kann.
QString(QChar('\n') ist ab qt 4.1.3 super immer gleich auf mac e window
auf linux sicher auch wenn es mac auch kann die 2 sind ja fast identisch im sistem....

Verfasst: 7. Juni 2006 23:50
von FlorianBecker
Verstehe ich nicht. Das kann doch nicht die EndOfLine ändern? Das macht nur immer ein \n als EndOfLine, oder sehe ich das falsch?

Verfasst: 8. Juni 2006 02:38
von patrik08
EndOfline ist doch zeilen umbruch oder?

der richtige mac & window ist doch '\n\r'
carriage return oder wie er benannt wird... in beinem C++ buch 600 seiten ist er auf jedem fall nicht drinnen... als "EndOfline"

http://en.wikipedia.org/wiki/Carriage_return
In ASCII and unicode, the character code decimal 13 (or hexadecimal 0D) is defined to be carriage return.
Ich habe die info von da http://www.qtcentre.org/forum/showthread.php?t=2547
aufgegriffen .....

und QString(QChar('\n') kann ich mich vorstellen dass er auf jedem os richtig gehandhabt wirdt...

Verfasst: 8. Juni 2006 02:46
von FlorianBecker
Ok, verstehe, wobei der nichts anderes macht, als replace mit einem QString.

Ich glaube, also zumindest ich suche, hier sollte es direkt gehen, also z.B:

file.endOfLine( Mac );
oder
file.endOfLine( Linux );

oder so. Wobei es das eben nicht gibt nach meinem Wissensstand.

Verfasst: 8. Juni 2006 07:39
von macman
Jetzt wird hier aber einiges durch einander gewürfelt. Der ganze Kram stammt noch aus Schreibmaschinenzeiten, als es 2 Sachen gab, Carriage Return und Linefeed. Ein Carriage Return bewegte nur den Schlitten wieder nach rechts und ein Linefeed drehte die Walze um eine Zeile weiter.

Beim Computer ist jetzt nur noch ein End of line nötig und da gibt es Unterschiede zwischen den Systemen. Unix/Linux usw. benutzen einen Linefeed '\n', Mac benutzt einen Carriage Return '\r' und Windows beides, wobei hier die Reihenfolge eingehalten werden muss '\r\n'.

Ich benutze fast nur '\n', wenn ich Dateien schreibe, da alle Systeme damit klar kommen, ausser natürlich Notepad von Windows :-)