Einzelnen Beitrag anzeigen

EgonHugeist

Registriert seit: 17. Sep 2011
187 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: Encoding (ASCII/UTF-8/xxx) richtig erkennen

  Alt 14. Jan 2015, 19:05
Hi.
...Auf ein BOM kann man sich ja nicht verlassen...
Wenn du dich nicht auf die BOM verlassen kannst, worauf dann?

Es ist eigentlich unmöglich Unicode-Char(full 2Byte, eg. 2. Byte <> 0) mit diversenen !Ansi!-Sequencen auseinander zu halten.

Ich habe mich damit auch herum ärgern müssen doch irgendetwas 100% sicheres -> NOPE.

Was sicher funzte sind Sachen wie StrLen() (wenn du ein #0 an den Stream angehängt hast), welches schon bei den ersten Unicode-Chars eine andere Länge als Stream.Size zurück gibt(knallt aber bei RTF-formatierten Daten).

Dann wäre da noch sowas wie:
NotUnicode = (Stream.Size mod 2 <> 0) oder so.
Und zu guter letzt:
DetectUTF8Encoding in [etASCII,etUTF8] welches ziehmlich sicher wäre.

Alles andere ist das Befragen der Kristallkugel, IMHO.
  Mit Zitat antworten Zitat