UTF-8 auf Gültigkeit prüfen

08/01/2010 - 16:39 von Hauke Laging | Report spam
Moin,

wie kann ich prüfen, ob eine Datei nur gültiges UTF-8 enthàlt? Möglichst mit
Angabe der Stelle, wenn ein Fehler gefunden wird.


CU

Hauke
http://www.hauke-laging.de/ideen/
 

Lesen sie die antworten

#1 Achim Peters
08/01/2010 - 17:01 | Warnen spam
Hauke Laging wrote:
wie kann ich prüfen, ob eine Datei nur gültiges UTF-8 enthàlt? Möglichst mit
Angabe der Stelle, wenn ein Fehler gefunden wird.



Du liest ab Dateibeginn jedes Byte und "hangelst" Dich durch die
UTF-8-Zeichen mit mehr als einem Byte durch. Gültig sind

0xxxxxxx
110xxxxx 10xxxxxx
1110xxxx 10xxxxxx 10xxxxxx
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

(theoretisch noch weiter bis zu 8 Byte, gekennzeichnet durch die Anzahl
1-Bits vor dem ersten 0-Bit oder durch 8 1-Bits im ersten Byte)

Ungültig sind also
- am Anfang eines UTF8-Zeichens:
10xxxxxx
- ab dem zweiten Byte eines UTF8-Zeichens:
00xxxxxx
01xxxxxx
11xxxxxx

Am Dateianfang darf noch die Byte-Order-Mark EF BB BF stehen.

Quellen:

http://de.wikipedia.org/wiki/UTF8
http://de.wikipedia.org/wiki/Byte_Order_Mark

HTH

Bye
achim

Ähnliche fragen