Einzelnen Beitrag anzeigen

knaeuel

Registriert seit: 2. Jul 2007
110 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Delphi und Linux - Encoding-Salat?

  Alt 8. Aug 2019, 14:33
ah, danke, manchmal sieht man den Wald vor Bäumen nicht mehr. Delphi schaut nur aufs BOM => unter Linux wird alles ohne BOM als UTF-8 deklariert.

Dann werde ich zumindest die Default-Entscheidung für Linux anpassen.

ASCII/UTF7/ANSI-Dateien werden bei Linux korrekt als nicht-UTF8 erkannt und danach trotzdem als UTF8 deklariert. Dann nehme ich da lieber auch ANSI als default. Dann passt es wenigstens oftmals und nicht mehr nie.

Abschließend nochmal die beantworteten Fragen:

Ist es erwartungsgemäß, dass Windows die Ascii-Datei für Ansi erklärt? Und wie siehts mit Linux aus?
Ja, das ist erwartungsgemäß, denn Delphi unterscheidet einfach nicht weiter.

Liegt das mit den ganzen angeblichen UTF-8-Dateien bei Linux am Dateisystem? Oder macht mein Code nicht was er soll? Oder hat Ddelphi da Schwächen?
Ja, das würde ich als kleine Schwäche bezeichnen. Etwas besser ist die Programmierung unter Windows und es leuchtet mir auch nicht ein, wieso das nicht für Win und Linux gleich läuft. Bei mir läuft es jetzt gleich. (Default-Rückgabe bei Dateien ohne BOM)

Warum wird ASCII unter Windows nicht als ASCII erkannt?
Bei Dateien ohne BOM unterscheidet Delphi einfach nicht weiter und gibt den default-Wert (Windows: ANSI) zurück.

Warum erkennt Linux gleich mehrere Kodierungen als UTF-8?
Bei Dateien ohne BOM unterscheidet Delphi einfach nicht weiter und gibt den default-Wert (Linux: UTF8; bei mir jetzt geändert auf ANSI) zurück.

Warum wird ASCII unter Windows nicht als ASCII erkannt?
Warum erkennt Linux gleich mehrere Kodierungen als UTF-8?
ASCII umfasst die Zeichen mit den Codes von 0 bis 127 und ist damit eine Untermenge von ANSI. Auch die ersten 128 Zeichen bei UTF-8 sind identisch mit ASCII.
Danke für die Hilfe!
Wolfgang
  Mit Zitat antworten Zitat