Alexander (HH): Bei htmspecialchars immer ENT_QUOTES setzen?

Beitrag lesen

Moin Moin!

Sie behandelt nicht die Fälle, die in HTML ebenfalls zu Fehlern führen könnten, wie z.B NUL (Ascii 0).

In der HTML-Spezifikation (4.01) konnte ich im Charset-Kapitel keine Erwähnung. Prinzipiell müssen die Browser auch mit NUL-Bytes im Datenstrom umgehen können, sonst könnten sie nicht UTF-16 als Kodierung annehmen. Wo also macht NUL Probleme?

Ich denke, Du verwechselst Bytes und Zeichen. Das Zeichen mit dem Code 0 (NUL) ist wohl nicht erlaubt, jedenfalls nicht in XML. Dass bei UTF-16 und erst recht UTF-32 jede Menge 0x00-Bytes unterwegs sind, ist eine völlig andere Geschichte, eine Ebene unterhalb der Zeichen.

Dass man in XML das NUL-Zeichen nicht erlaubt, verstehe ich auch nicht so wirklich. Auf den ersten Blick stinkt das ganz fürchterlich danach, dass man Problemen mit NUL in XML-Parser-Libraries aus dem Weg gehen wollte. In C und einigen Derivate gilt NUL als Stringende und ist daher innerhalb eines Strings nicht abbildbar.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".