Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#7

Re: Unicode: Wie kann ich das BOM von einem String entfernen

  Alt 12. Feb 2010, 16:06
Wenn man sich mal bewußt ist, was diese 3 Byte wirklich bedeuten, dann kommt man gekürzt auf dieses:
Delphi-Quellcode:
ReadLn(myfile, a);
s := UTF8Decode(a);
if (s <> '') and (s[1] = #$FEFF) then delete(s, 1, 1);
So könnte man auch noch eine Prüfung einbauen, welche die Daten gleich noch mit prüft
Delphi-Quellcode:
ReadLn(myfile, a);
s := UTF8Decode(a);
if (s = '') or (a <> '') then s := a
else if (s <> '') and (s[1] = #$FEFF) then delete(s, 1, 1);
Hier würde dann die erste Zeile einer "Ansi"-Datei oder einer UTF-8-kodierten Datei eingelesen.
(selbst UTF-8 ohne BOM würde halbwegs sicher erkannt)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat