Zeichenumwandlung bei Datei - Speichern als

Antworten
Hauspost
Beiträge: 16
Registriert: 24.04.2013 13:30:36

Zeichenumwandlung bei Datei - Speichern als

Beitrag von Hauspost »

Als ich neulich mit einem ASCII-Editor eine von Thunderbird gespeicherte Mail editieren wollte, fiel mir auf, das an vielen Stellen statt des Leerzeichens (Hex-Code 20) das Zeichen "à" (Hex-Code A0) stand.

Ich habe das Phänomen etwas näher untersucht. Dazu habe ich eine bestimmte Zeile einer Reintext-Mail einmal aus dem Vorschaufenster von Thunderbird, dann aus dem Nachrichten-Quelltext von Thunderbird und - nachdem ich die Mail mit "Datei - Speichern als" als Textdatei gespeichert hatte - aus der gespeicherten Datei mit Copy & Paste kopiert und mit der ANSI-Ansicht eines Editors betrachtet (Beispiel 1). Alle drei Zeilen sehen gleich aus.

Dann habe ich beim Editor die Option gewählt, bei der auch nichtdruckbare Zeichen angezeigt werden. Das Leerzeichen wird dann als kleiner Punkt in der Mitte des Zeichenfeldes angezeigt (Beispiel 2). Man sieht, dass in der Zeile aus der Vorschau und dem Quelltext zwischen den Zeichenfolgen "1408" und "10" richtige Leerzeichen stehen, aber in der gespeicherten Textdatei nur das letzte Leerzeichen ein "richtiges" Leerzeichen ist.

Ich habe mir sodann die Sache mit einem Lister in der ASCII-Ansicht angesehen (Beispiel 3): In der Textdatei sind alle bis auf das letzte Leerzeichen durch das Zeichen "à" ersetzt worden. In der Hex-Ansicht lässt sich erkennen, dass statt des Hex-Codes "20" ("Space") wurde "A0" ("à") gespeichert wurde.

In der gesamten Datei wurde Leerzeichen an allen Stellen, wo mehr als ein Leerzeichen steht, alle bis auf das letzte Leerzeichen durch das "à" ersetzt. Aus "hex 20 20 20" wurde beispielsweise "hex A0 A0 20". Das gleiche passiert auch, wenn man die Mail als EML-Datei speichert.

Ist dieses Phänomen bekannt, gewollt, erklärbar?
Dateianhänge
Beispiel3.jpg
Beispiel3.jpg (19.26 KiB) 3848 mal betrachtet
Beispiel2.jpg
Beispiel2.jpg (18.31 KiB) 3848 mal betrachtet
Beispiel1.jpg
Beispiel1.jpg (14.54 KiB) 3848 mal betrachtet
Hans-Friedrich
weisi14
Beiträge: 534
Registriert: 26.01.2012 13:09:18

Re: Zeichenumwandlung bei Datei - Speichern als

Beitrag von weisi14 »

Hauspost hat geschrieben: 11.12.2019 13:54:19 Als ich neulich mit einem ASCII-Editor eine von Thunderbird gespeicherte Mail editieren wollte, fiel mir auf, das an vielen Stellen statt des Leerzeichens (Hex-Code 20) das Zeichen "à" (Hex-Code A0) stand.

Ist dieses Phänomen bekannt, gewollt, erklärbar?
Wie und als was wurde die Datei gespeichert?

Einfache Möglichkeit:
die Email bei Datei > "Speichern als" txt-Datei auswählen, dann wird die Datei auch im ASCII-Code (oder ANSI-Code) gespeichert und wird mit einem Texteditor lesbar sein.

Als "email speichern" wird eben die von Thunderbird vorgegebene Art der Speicherung verwendet und nicht ASCII.
Für "Nachrichtenquelltext anzeigen" gilt das gleiche.

Das ist aber bei allen Mail-Programmen so.

Nur Text ist eben Text......
Zuletzt geändert von weisi14 am 11.12.2019 15:55:03, insgesamt 1-mal geändert.
Hauspost
Beiträge: 16
Registriert: 24.04.2013 13:30:36

Re: Zeichenumwandlung bei Datei - Speichern als

Beitrag von Hauspost »

Wer lesen kann, ist klar im Vorteil:

...Ich habe das Phänomen etwas näher untersucht. Dazu habe ich eine bestimmte Zeile einer Reintext-Mail einmal aus dem Vorschaufenster von Thunderbird, dann aus dem Nachrichten-Quelltext von Thunderbird und - nachdem ich die Mail mit "Datei - Speichern als" als Textdatei gespeichert hatte - aus der gespeicherten Datei mit Copy & Paste kopiert und mit der ANSI-Ansicht eines Editors betrachtet (Beispiel 1). Alle drei Zeilen sehen gleich aus....

Aber ich wiederhole es gern noch einmal. Beim Speichern einer Mail als Textdatei (txt) werden bei Zeichenfolgen mit mehreren Leerzeichen (hex 20) alle mit Ausnahme des letzten Leerzeichens zu Zeichen mit dem Hex-Code A0 umgewandelt. Dies ist aber nur zu sehen, wenn der Editor oder Lister mit ASCII-Ansicht läuft, da unter der ANSI-Ansicht hex A0 auch als Leerzeichen dargestellt wird.
Hans-Friedrich
martin-k
SoftMaker Team
SoftMaker Team
Beiträge: 6133
Registriert: 03.12.2003 14:32:06
Kontaktdaten:

Re: Zeichenumwandlung bei Datei - Speichern als

Beitrag von martin-k »

Mehrere hintereinander stehende Leerzeichen fallen bei HTML zu einem einzigen Leerzeichen zusammen. Daher muss man, wenn man mehrere Leerzeichen braucht, diese bei HTML als geschützte Leerzeichen (A0) kodieren.

Ich nehme an, dass Thunderbird das bei normalen Textmails das einfach auch so macht.

Wir reden hier vom Windows- und Unicode-Zeichensatz, bei dem A0 ein geschütztes Leerzeichen ist, also genau wie ein normales Leerzeichen aussieht. Wenn Sie schreiben, dass A0 ein á repräsentiert, dann sind Sie gedanklich versehentlich im DOS-Zeichensatz gelandet.
Martin Kotulla
SoftMaker Software GmbH
Eierlein
Beiträge: 179
Registriert: 01.02.2010 19:38:04

Re: Zeichenumwandlung bei Datei - Speichern als

Beitrag von Eierlein »

Beim Speichern einer Mail als Textdatei (txt) werden bei Zeichenfolgen mit mehreren Leerzeichen (hex 20) alle mit Ausnahme des letzten Leerzeichens zu Zeichen mit dem Hex-Code A0 umgewandelt. Dies ist aber nur zu sehen, wenn der Editor oder Lister mit ASCII-Ansicht läuft, da unter der ANSI-Ansicht hex A0 auch als Leerzeichen dargestellt wird.
Hex A0 ist bei Ansi das geschützte Leezeichen (Dez 160), bei der OEM (DOS) Codepage 850 (437) das >á<.
Hauspost
Beiträge: 16
Registriert: 24.04.2013 13:30:36

Re: Zeichenumwandlung bei Datei - Speichern als

Beitrag von Hauspost »

Ich nehme an, dass Thunderbird das bei normalen Textmails das einfach auch so macht.

Ich glaube, dass die Erklärung von martin-k triftig ist.

Aber: Warum ersetzt Thunderbird dann nicht alle Leerzeichen (20) der originalen Mail durch geschützte Leerzeichen (A0) und warum bei einer Reihe von n Leerzeichen nur (n-1) Leerzeichen? Und warum nimmt Thunderbird bei Erzeugung einer Textdatei auf HTML-Konventionen Rücksicht? Bei einer txt-Datei besteht m.E. keinerlei Notwendigkeit, statt Hex20 hex A0 zu nehmen.

Aber ich weiß jetzt, dass ich txt-Dateien von Mozilla konvertieren muss, wenn ich die Dateien weiter verarbeiten will und dazu einheitliche Leerzeichen brauche. Auch ein Erkenntnisgewinn!
Hans-Friedrich
KSI
Beiträge: 218
Registriert: 03.03.2004 00:29:05

Re: Zeichenumwandlung bei Datei - Speichern als

Beitrag von KSI »

Na, wenn Sie den Quellcode der Mail als .EML vor sich haben (Datei/speichern unter), und sie dann z.B. mit Notepad++ öffnen, dann sehen Sie, dass dort (idealerweise) für jeden Abschnitt ein Zeichensatz definiert ist, ebenso auch, ob der Abschnitt in HTML vorliegt. Auch Mails, die mit Base64 "auf 7 Bit Zeichen umgewandelt wurden, kann man so gut erkennen.

Wenn Sie nun die Mail im Thunderbird als ASCII- oder ANSI-Text speichern, dann wandelt Thunderbird die Zeichen entsprechend um, damit die Textdarstellung weiterhin stimmt. Das gilt natürlich auch für ANSI vs. Unicode etc. Wenn da am Ende das letzte Zeichen falsch umgewandelt wird, könnte das einfach ein Programmierfehler sein..
Antworten

Zurück zu „Thunderbird für Windows“