Maskierung

Zeichen und Steuerzeichen

In vielen Anwendungen werden einzelne Zeichen als "Steuerzeichen" mit besonderer Bedeutung verwendet. Zur Verwendung der gleichen Zeichen in Texten werden diese Zeichen speziell codiert - "maskiert".
Zeichencodes PC-Codes für Buchstaben, Ziffern und Sonderzeichen
HTML Maskierung von Zeichen in Webseiten

Maskierung und Codierung

Der Begriff dürfte nicht 'wissenschaftlich' eindeutig zu definieren sein. Einige Indizien müssen genügen:
Das Thema betrifft die Darstellung von Zeichen im Quelltext von Programmen.
Das Ziel ist oft die Trennung von Anweisungen (Befehlen) und Daten (insbesondere von Texten).
In anderen Fällen ist das Ziel, Zeichen in Text-Daten einzufügen, die im Quelltext nicht vorkommen können oder dürfen.
In allen Programmiersprachen werden ausgewählte Zeichen als Anweisungen oder als Teile davon verwendet. Unabhängig davon muss es einen Weg geben, um die gleichen Zeichen in Text-Daten zu verwenden.

Die wichtigste Aufgabe der Maskierung ist die Unterscheidung, ob ein Zeichen als Teil von Text-Daten oder einer Anweisung dienen soll.
Beispiel:
In HTML und XML werden Anweisungen in < > Klammern eingeschlossen. Der gesamte übrige Quelltext wird als Text-Daten verstanden, die (auf der Webseite) angezeigt werden sollen.
Ein Zeichen < im HTML Quelltext bedeutet daher "Beginn einer Anweisung"
Innerhalb von HTML Text-Daten dürfen daher keine < > Zeichen vorkommen - Das würde jeder Browser als Anweisung auffassen.
Beispiel:
Alle gängigen Programmiersprachen arbeiten genau umgekehrt:
Text-Daten werden in "" eingeschlossen, der gesamte übrige Quelltext wird als Anweisungen verstanden.
Ein Zeichen " im Javascript Quelltext bedeutet daher "Beginn oder Ende von Text-Daten"
Im Quellcode von Programmiersprachen dürfen daher innerhalb von Strings (Texten) keine " Zeichen vorkommen.
In allen Fällen müssen spezielle Maßnahmen getroffen werden, wenn es notwendig ist, die betreffenden (Steuer)-Zeichen innerhalb von Strings als Text-Zeichen darzustellen. Jede Programmiersprache bietet für diesem Fall eine spezielle Syntax (Grammatik) zur Codierung bzw. Maskierung. Die betreffenden Zeichen werden maskiert, d.h. sozusagen hinter einer Maske versteckt. In solchen genau bezeichneten Fällen werden sie ausnahmsweise nicht als Steuerzeichen verwendet.
Zur Anzeige der betreffenden Text-Daten (Strings) wird die Maskierung von der Software entfernt.
Beispiel HTML:
So sieht der HTML Quelltext aus, um ein < Zeichen im Text darzustellen:
ein &lt; Zeichen
Das < Zeichen wurde maskiert.
Beispiel Javascript:
So sieht der JS Quelltext aus, um ein " Zeichen im Text darzustellen:
"ein \" Zeichen"
Das " Zeichen wurde maskiert.

Ausweitung der Maskierung / Codierung

In der Praxis wird zwischen Maskierung und Codierung nicht streng unterschieden. Beiden Begriffe beschreiben, wie man bestimmte Zeichen im Quelltext von Programmen verwendet.

Die Beispiele dieses Kapitels demonstrieren die schrittweise Erweiterung der Begriffe:
Unterscheidung zwischen Anweisung und Text-Daten
Maskierung der 32 nicht darstellbaren Steuerzeichen
Codierung aller 128 ASCII-Zeichen
Codierung aller Unicode-Zeichen

Maskierung einzelner Anweisungs-Zeichen

Die Maskierung im engeren Sinne betrifft zunächst nur jene Zeichen, die in der jeweiligen Umgebung (Programmiersprache) als Steuerzeichen definiert sind, d.h. die nicht als Text sondern als Teil einer Anweisung verstanden werden.

Solche Steuerzeichen werden maskiert, wenn sie ausnahmsweise innerhalb von Strings (Texten) vorkommen sollen.

Jede Programmiersprache verwendet zur Maskierung eine eigene Syntax (Grammatik).

Das ist zum Glück nicht so kompliziert wie es zunächst aussieht: Die meisten modernen Programmiersprachen verwenden dazu eine ähnliche, z.T. sogar identische Syntax, z.B. Java, Javascript, Perl, PHP, Python, ...

Alle modernen Programmiersprachen bieten eine einzige ausdrückliche Ausnahme von diesem Verhalten: Mit der Funktion eval wird ein Text als Anweisung interpretiert, und zwar auch dann, wenn er maskierte Zeichen enthält.
Maskierung von nicht darstellbaren Zeichen
Jeder Zeichensatz enthält solche Zeichen, z.B. "Tabulator", "neue Zeile", "neue Seite" usw. Die meisten Zeichensätze enthalten die 32 Steuerzeichen des → ASCII Zeichensatzes.

Steuerzeichen und Leerzeichen (space, blank) im Quelltext werden vom jeweiligen Programm normalerweise ignoriert, da man sie nur verwendet, um den Quelltext selbst lesbar zu formulieren.
Man muss sie daher in irgend einer Form symbolisieren, wenn sie in Text-Daten vorkommen sollen. Zweckmäßig wird dazu die gleiche Syntax verwendet wie zur Maskierung von Befehls-Zeichen.

Beispiel: Zeilen-Umbruch im Quelltext
HTML <br> und XHTML <br />
Alle modernen Programmiersprachen, z.B. Javascript \n
VBA vbcrlf 

Maskierung im weiteren Sinne beschreibt daher ein Verfahren, mit dem man beliebige Zeichen innerhalb von Strings darstellen kann, ohne das Zeichen selbst zu benutzen.

Manche Programmiersprachen bieten ausdrückliche Ausnahmen von diesem Verhalten: In einem genau eingegrenzten Teil des Quelltextes werden alle Zeichen in die Daten übernommen, auch Leerzeichen und Steuerzeichen (TAB, CR, LF).
Beispiel HTML: Die Anweisung <pre></pre> 
Beispiel Perl: Ein sog. Here-Block

Codierung aller ASCII-Zeichen

Die Möglichkeit zur Maskierung wird meist auf alle 128 → ASCII-Zeichen erweitert.

Beispiel \ Backslash:
In vielen modernen Programmiersprachen wird ein \ Zeichen zur Maskierung des nachfolgenden Zeichens verwendet.Diese Maskierung wirkt auf genau 1 beliebiges Zeichen:

Die Verwendung von \$ im Quelltext bedeutet daher "verwende das Dollar-Zeichen als Text" und verhindert die Interpretation als Teil einer Anweisung.

Beispiel Funktion chr
Alle Programmiersprachen bieten die Möglichkeit, eine Code-Zahl in ein Zeichen umzuwandeln. Der ASCII-Code verwendet 1 Byte pro Zeichen, das entspricht einer ganzen Zahl 0..255
Die Funktion chr(65) erzeugt das Zeichen mit ASCII-Code=65, das ist das große A
An Stelle der dezimalen Zahl wird oft die hexadezimale Darstellung verwendet, z.B. chr(0x41)
So kann man jedes beliebige ASCII-Zeichen erzeugen, z.B. auch die 32 nicht druckbaren Steuerzeichen.
Tipp: Der genaue Name der Funktion ist je nach Programmiersprache unterschiedlich, die Wirkung jedoch genau gleich.

Codierung aller Unicode-Zeichen

Die letzte logische Erweiterung der Maskierung ist die Möglichkeit zur Darstellung aller bekannten Zeichen, d.h. aller (derzeit 1114109) → Unicode-Zeichen im Quelltext.

Beispiel Umlaute
Das betrifft alle nationalen Sonderzeichen, im deutschen Sprachraum z.B. ÄÖÜäöü߀
Der Quelltext von Programmen darf normalerweise nur die 128 ASCII-Zeichen enthalten und schließt daher die Verwendung der Umlaute aus. Das ist sinnvoll, denn die Anweisungen (Befehle) von Programmen sollten international eindeutig und verständlich sein.
Andernfalls müsste man eigene nationale Übersetzer-Programme (Compiler, Interpreter) für Programmiersprachen erzeugen.

Sonderzeichen (Umlaute) können daher prinzipiell nicht in Anweisungen (Befehlen) vorkommen sondern nur in Daten (Texten, Strings).
Bei der Maskierung oder Codierung von Sonderzeichen kommt es daher nicht darauf an, sie von Anweisungen zu unterscheiden, sondern sie überhaupt im Quelltext darzustellen.

In der Informatik-Urzeit gab es dazu viele verschiedene nationale Varianten der Darstellung, z.B. die unzähligen heute noch verwendeten "nationalen Zeichensätze". Das ist in einer globalisierten Welt ein großer Nachteil, denn alle solcherart codierten Dokumente sind nur im jeweiligen Kulturkreis fehlerfrei verwendbar und müssten in jedem anderen korrekt übersetzt werden - was nicht immer gewährleistet ist.

Beispiel Unicode-Zahl
Meist werden Sonderzeichen mit ihrer → Unicode-Zahl maskiert, gleich oder ähnlich wie ASCII-Zeichen mit Funktion chr (links).
Im HTML-Quelltext wird dasZeichen (Unicode 8364) dezimal &#8364; oder hexadezimal $#x20AC; codiert.

Beispiel Zeichen-Namen
Für häufig verwendete Sonderzeichen werden manchmal Namen (entities) definiert, z.B. in HTML für das Zeichen &euro;

Ausnahmen
In seltenen Fällen (leider auch in HTML) wird es erlaubt, im Quelltext nationale Sonderzeichen zu verwenden.
Diese Möglichkeit sollte man keinesfalls ausnutzen !
Webseiten sind ein gutes Beispiel dafür, wie die gleichen (HTML)-Dokumente von vielen verschiedenen Programmen auf unterschiedlichen Computern und Betriebssystemen verwaltet, weitergeleitet und letztlich angezeigt werden.
Nur wenn alle diese Programme die verwendeten Sonderzeichen richtig verstehen, werden sie letztlich richtig angezeigt - Darauf sollte man sich besser nicht verlassen.

HTML - Maskierung und Codierung

HTML-Webseiten enthalten ausschließlich lesbaren Text, d.h. keine mit einem Text-Editor unlesbaren binären Zeichen. Einige dieser Zeichen, z.B. die < > dreieckigen Klammern haben eine besondere Bedeutung als Steuerzeichen: Alle HTML-Anweisungen werden darin eingeschlossen, z.B.
<body> </body>
Wenn man die gleichen Zeichen als Daten auf einer Webseite darstellen will (z.B. in genau diesem Absatz), dann darf man die Zeichen im Text nicht verwenden - Sie würden sonst als HTML-Anweisungen mißverstanden.
Um Steuerzeichen im Text darzustellen, wird in HTML eine "Maskierung" aus 3 Teilen verwendet:
1& jede Maskierung beginnt mit diesem Zeichen
2Code ein eindeutiger Code für jedes zu maskierende Zeichen
3; jede Maskierung endet mit diesem Zeichen
Beispiel:
Dieser Text soll dargestellt werde.
Eine <dreieckige> Klammer

So sieht der HTML-Code aus, um den Text auf einer Webseite darzustellen:
Eine &lt;dreieckige&gt; Klammer
Zur Codierung stehen 3 verschiedene Varianten zur Auswahl:

Die beiden ersten Varianten (rechts) verwenden die → ASCII Code-Nummer (0..127) oder → Unicode-Nummer (derzeit nur 0..65535 bzw. 0..0xFFFF) des betreffenden Zeichens.
Sie sind allgemein anwendbar, d.h. auf jedes beliebige Unicode-Zeichen und auf jede Version von → HTML, → XHTML oder ein beliebiges anderes Mitglied der → XML-Familie.
Es ist damit zu rechnen, dass zukünftige Betriebssysteme und Browser alle Unicode-Zeichen anzeigen können (0..1114109 bzw. 0..0x10FFFD).
Die Codierung mit Dezimal-Code verwendet als eindeutigen Code die dezimale Unicode-Nummer des betreffenden Zeichens.
Beispiel: &#65; für das Zeichen A (→ ASCII-Code 65)
Details im nächsten Kapitel

Die Codierung mit Hexadezimal-Code verwendet als Code den hexadezimalen Unicode.
Beispiel: &#x41 für das Zeichen A
Details im nächsten Kapitel
Die Codierung mit einem eindeutigen Zeichen-Namen ist leichter zu merken, dafür jedoch nicht allgemein anwendbar.
Beispiel: Code lt (less than) für das < Zeichen, als fertig formulierter HTML-Code &lt;
Die Verwendung der Text-Codes (Entities) ist in der Definition der "Sprach-Version" festgelegt und daher von dieser abhängig. Die typischen HTML-Codes (z.B. &lt; ) können daher nicht allgemein angewendet werden.
Die Liste aller (für eine bestimmte HTML- oder XML-Version) definierten Entity Codes kann man beim W3C ansehen oder downladen.
Man kann die Entity-Liste auch mit selbst definierten Elementen ergänzen, das erfordert jedoch fortgeschrittene Kenntnisse.

HTML- und XML-Maskierung mit Dezimal- oder Hexadezimal-Code

Die beiden hier vorgestellten Methoden zur Codierung sind auf jedes beliebige → Unicode-Zeichen (derzeit nur im Bereich 0..0xFFFF) anwendbar.
Sie funktionieren ohne jede zusätzliche Maßnahme in jeder Version von → HTML, → XHTML und in allen Mitgliedern der → XML-Familie.
Diese Art der Codierung können sie daher im Zweifel immer anwenden - Ohne Rücksicht darauf, ob ein Entity-Namen für das betreffende Zeichen in der Sprach-Definition festgelegt wurde.

Dezimaler Zeichencode:

Jedes → Unicode-Zeichen ist durch eine Zahl (CodePoint) eindeutig charakterisiert. Man benutzt den dezimalen Code mit einem vorangestellten # Zeichen, um das Zeichen darzustellen.
Das erste Beispiel rechts zeigt die 3 Zeichen ABC - Sie können wahlweise direkt in Klartext oder in maskierter Form codiert werden.
Das zweite Beispiel zeigt die Steuerzeichen <!& - Sie dürfen nur in maskierter Form codiert werden, da sie andernfalls als Steuerzeichen interpretiert werden.

Beispiel für den Text ABC
HTML-Code: ABC 
Dezimalcode der Zeichen: 65, 66, 67
Alternativer HTML-Code: &#65;&#66;&#67; 

Beispiel für Sonderzeichen <!&
Dezimalcode der Zeichen: 60, 33, 38
Alternativer HTML-Code: &#60;&#33;&#38; 

Hexadezimaler Zeichencode:

Jedes → Unicode-Zeichen kann alternativ durch seinen hexadezimalen Code dargestellt werden, wenn die Zeichen #x vorangestellt werden.
Die Beispiele rechts zeigen die gleichen Zeichen wie oben mit ihrem dezimalen Code.
Details zum Dezimal- und Hexadezimal-Code der → ASCII-Zeichen.

Beispiel für den Text ABC
HTML-Code: ABC
Hexadezimalcode der Zeichen: #41, #42, #43
Alternativer HTML-Code: &#x41;&#x42;&#x43; 

Beispiel für Sonderzeichen <!&
Hexadezimalcode der Zeichen: #3C, #21, #26
Alternativer HTML-Code: &#x3C;&#x21;&#x26; 

Unicode-Zeichen

Die Codierung mit Dezimal- oder Hexadezimal-Code ist nicht auf die 127 ASCII-Zeichen beschränkt. Auf diese Weise können derzeit alle Unicode-Zeichen U<FFFF codiert werden.

Die Beispiele sind aus folgenden Bereichen gewählt:
→ Latin-1 Supplement, Latin Extended-A, Greek and Coptic, Cyrillic, Arabic, Currency Symbols, Arrows, Mathematical Operators, Geometric Shapes ...
Die Zeichen in Spalte chr sind keine Bilder, sondern echte Buchstaben, die sich wie jedes andere Zeichen dieser Webseite kopieren und in andere Programme einsetzen lassen.

Details zum Unicode
Einige Beispiele HTML-codierter Unicode-Zeichen
Dez.Hex.Chr
&#196;&#xC4;Ä
&#382;&#x17E;ž
&#937;&#x3A9;Ω
&#1049;&#x419;Й
&#1701;&#x6A5;ڥ
&#8364;&#x20AC;
&#8596;&#x2194;
&#8734;&#x221E;
&#9668;&#x25C4;

HTML-Maskierung mit Entity-Codes

Zur leichteren Lesbarkeit von Quelltext bietet HTML die Möglichkeit, Codenamen für ausgewählte häufig verwendete Zeichen zu verwenden.
Alle Zeichen-Namen sind in der Sprach-Definition der jeweiligen HTML- bzw. XML-Version festgelegt. Man kann die Definitionen beim W3C einsehen oder downladen.
Diese Tabelle zeigt die Standard HTML Zeichen-Namen (ohne Gewähr).
Typische HTML Steuerzeichen "&<> müssen bei Verwendung im Text immer maskiert werden.

Einige Zeichen !?@ werden nicht von HTML, jedoch von anderen Interpreter-Programmen (z.B. Web-Editor, PHP, ...) als Steuerzeichen verwendet. Sie müssen meistens maskiert werden, wenn diese Programme verwendet werden, die Zeichen jedoch in Texten vorkommen sollen.

Alle nationalen Sonderzeichen ÄÖÜäöüß sollten codiert werden. AnfängerInnen vergessen darauf oft. Ihre Dokumente (Mail, Webseiten, ...) werden dann auf PC anderer Länder falsch dargestellt. Manchmal genügt schon die Übertragung über Router-PC oder das Speichern auf einem Provider-PC mit internationalen Betriebssystemen, um solche Zeichen unlesbar zu machen.

Das €-Zeichen ist zwar auf allen gängigen Systemen darstellbar, M$-Produkte verwenden jedoch meist zur Codierung nicht den Standard Code &#x20AC; oder &#euro; sondern den firmen-eigenen Code &#x80;
Dieser Code ist für ein nicht druckbares Steuerzeichen reserviert. Solcherart codierte Dokumente werden daher im schlimmsten Fall nur auf dem eigenen PC korrekt angezeigt. Sauber codierte Zeichen funktionieren auf allen PC, auch auf Windows Systemen.

URI-Maskierung

Die Anforderung von Webseiten aus dem Internet erfolgt nach den Regeln des HTTP-Standards. Anforderung (GET, POST) und Antwort (der HTML-Quelltext der Webseite) werden im einfachsten Fall in Klartext übertragen.
Für die Anforderung sind keine Sonderzeichen zulässig, sondern nur eine begrenzte Auswahl der ASCII-Zeichen.
In der Anforderung (sichtbar in der Browser-Adresszeile) haben einige Zeichen spezielle Bedeutung als Steuerzeichen, z.B.
#%&+/:=?
Diese und andere Sonderzeichen müssen daher maskiert werden, wenn sie im Text vorkommen sollen.

URI-Codierung (vereinfacht !)

Im Klartext werden nur Ziffern 0..9, Großbuchstaben A..Z und Kleinbuchstaben a..z codiert.
Alle anderen Zeichen des → ASCII-Codes (Unicode U+00..U+7F) werden mit einem % Zeichen, gefolgt vom hexadezimalen Code maskiert.
Alle anderen Unicode-Zeichen werden zuerst HTML-Codiert, danach URI-codiert.
Beispiel: Einfache URI-Befehlszeile
http://domain.com/verzeichnis/seite.htm
Beispiel: URI-Befehlszeile mit Argumenten (z.B. für eine Suchmaschine)
Anfrage-Text: reich
http://xyz.com/anfrage.htm?suche=reich
Beispiel: Codierung von ASCII Sonderzeichen:
Anfrage-Text: reich & gesund
ASCII-Codes von Leerzeichen (#20) und & (#26)
http://abc.com/anfrage.htm?suche=reich%20%26%20gesund

Beispiel: Codierung von HTML Sonderzeichen:
Anfrage-Text: reich und schön
HTML-Code: reich & sch&ouml;n
ASCII-Code von ; (#3B)
http://rst.com/anfrage.htm?suche=reich%20%26%20sch%26ouml%3Bn

Namen von Verzeichnissen und Dateien:

Wenn sie eigene Webseiten herstellen, dann sollten sie die Namen aller Verzeichnisse (Ordner) und Dateien so wählen, dass Probleme bei deren Adressierung nach Möglichkeit ausgeschlossen sind.
Das gilt auch für Dateien, die sie im Internet versenden, z.B. als Mail-Anhang oder in einem Archiv (*.zip)
Für Datei-Namen nur Ziffern 0..9 und kleine Buchstaben a..z verwenden, allenfalls als Trennzeichen das _ underline.
Keine Leerzeichen und keine anderen ASCII-Zeichen wie ,;.:-!?=+- verwenden.
Keinesfalls nationale Sonderzeichen äöüß verwenden !

Keine Großbuchstaben verwenden. Das ist zwar zulässiger URI-Code, kann jedoch hartnäckige Probleme verursachen: Windows-Systeme unterscheiden als einzige nicht zwischen großen und kleinen Zeichen. Ein Link
<a href="ziel.htm"></a>
findet daher auf ihrem eigenen Win-PC auch schlampig benannte Webseiten Ziel.htm, ziel.HTM usw. Professionelle Internet-Provider verwenden jedoch vorzugsweise Linux-PC: Diese unterscheiden große und kleine Zeichen, daher werden die beiden angegebenen Datei-Beispiele bei Anklicken des Links nicht gefunden !

Namen von Variablen:

Wenn sie dynamische Webseiten programmieren, dann legen sie die Namen von Variablen für die Übergabe von Argument-Daten nach den gleichen Regeln fest wie die Namen von Webseiten.
Das betrifft z.B. die Namen in HTML-Formularen:
<input type="text" name="varname" />

Wenn das Formular abgesendet wird, dann gelangen die Namen und die eingetragenen Daten der Formular-Felder in die URI-codierte HTTP-Anfrage.
Vermeiden sie vorsorglich jedes Problem bei der Codierung durch Vergabe 'sicherer' Namen - ohne Leerzeichen, Sonderzeichen, Umlaute.
Details und Live-Beispiele zur URI-Codierung  

Maskierung in Programmiersprachen

In Programmiersprachen sind Strings (Texte) von Anweisungen klar getrennt - Normalerweise durch Einschluss in "" oder '' Zeichen, z.B. (Javascript)
var text="Demo";

Im einfachsten Fall müssen daher nur diese beiden Zeichen maskiert werden, wenn sie im Text vorkommen sollen. Das wird mit einem vorangestellten \ backslash-Zeichen bewirkt:
var text="Demo \"mit\" Maske";

Einige Programmiersprachen wie Perl oder PHP können Variable innerhalb von Strings verwenden, z.B.
$name="Mayer";
$text="Anna $name";
In diesem Fall muss mindestens auch das $-Zeichen maskiert werden, wennn es im Text vorkommen soll:
$text="Ein \$-Zeichen";

Darüber hinaus werden für häufig verwendete Sonderzeichen spezielle Codes verwendet, die ebenfalls mit \ backslash beginnen, z.B. \n für einen Zeilen-Umbruch (neue Zeile, ASCII-Steuerzeichen #0A, linefeed):
alert("Erste und\nzweite Zeile");
Die meisten modernen Programmiersprachen verwenden die gleichen Regeln zur Maskierung von Sonderzeichen, z.B.
→ C++, Java, Javascript, Perl, PHP, ...

Im einfachsten Fall wird lediglich ein \ backslash-Zeichen vor das zu maskierende Zeichen gestellt.

Für einige häufig verwendete Zeichen sind Abkürzungen möglich, die ebenfalls mit \ backslash beginnen, z.B. \n für einen Zeilen-Umbruch (neue Zeile, → ASCII-Steuerzeichen #0A, linefeed)

Für alle 127 → ASCII-Zeichen (und im Zweifel immer) kann man Funktionen zur Umwandlung des Zeichen-Codes in ein Zeichen verwenden.

Zur Codierung von → Unicode-Zeichen >U+007F sind je nach Programmiersprache unterschiedliche Verfahren möglich.

Escape Code - Maskierung von Sonderzeichen

Die Tabelle rechts zeigt die Codierung ausgewählter ASCII-Zeichen in Programmiersprachen (C++, Java, Javascript, Perl, PHP, ..)

Diese Codes funktionieren in fast allen modernen Programmiersprachen. Einzige Bedingung ist die Anwendung innerhalb eines Strings.

Spezielle Beispiele:
In C++ wird häufig ein Null-Byte \0 zum Abschluss von Strings verwendet.
Der Tabulator \t wird oft als Trennzeichen (field separator) beim Transport von Daten in einfachen Text-Dateien verwendet.
Das LF-Zeichen wird als Zeilen-Umbruch ("Neue Zeile") allgemein häufig verwendet.
DecHexChrCodeName
00x00 \0NULL
70x07 \aBEL
80x08 \bBS Backspace
90x09 \tHT Horizontal Tabulation
100x0A \nLF Line Feed
110x0B \vVT Vertical Tabulation
120x0C \fFF Form Feed
130x0D \rCR Carriage Return
340x22"\"double quotes
360x24$\$dollar sign
390x27'\'single quote
630x3F?\?question mark
920x5C\\\backslash
ASCII-Code (dezimal, hexadezimal), Zeichen (wenn darstellbar), Maskierungs-Code

Maskierung von Zeichen

Diese Technik wird verwendet, wenn es 'reservierte Zeichen' gibt:
In HTML sind dreieckige Klammern < > für Auszeichnungen (tags) reserviert, z.B. <b> für 'fett gedruckt'.
Wenn eine dreieckige Klammer als Zeichen angezeigt werden soll, dann muss man einen speziellen Code verwenden, welcher das Zeichen selbst 'versteckt' (maskiert).
Details zur Maskierung von HTML-Zeichen
Beispiel: Das Zeichen < in HTML:
<b>Fett</b> und Zeichen &lt;
Live-Ergebnis:
Fett und Zeichen <

Das Zeichen selbst wird für tags wie <b> verwendet und nicht angezeigt. Der Code &lt; maskiert das Zeichen <, welches angezeigt wird.
In vielen Bereichen der IT müssen Zeichen maskiert werden:
Fast alle Programmiersprachen, Internet-Adressen (→ URLs), usw.
Dabei werden unterschiedliche Methoden der Maskierung verwendet.
Generell müssen all jene Zeichen maskiert werden, welche eine spezielle Bedeutung im jeweiligen IT-Bereich haben.
Es gibt keinen allgemeinen Algorithmus zur Maskierung. Sie finden die jeweiligen Regeln bei den einzelnen Bereichen (z.B. → HTML, → URL).
Nachfolgend 2 häufig verwendete Maskierungs-Tabellen
 
Maskierte Zeichen in → HTML und → URL-Code
DecHexChrMaskName
32&#x20; %20SPACE
35&#x23;#%23number sign
36&#x24;$%24dollar sign
37&#x25;%%25percent sign
38&#x26;&%26ampersand
47&#x2F;/%2Fslash
58&#x3A;:%3Acolon
59&#x3B;;%3Bsemicolon
60&#x3C;<%3Cless than sign
61&#x3D;=%3Dequal sign
62&#x3E;>%3Egreater than sign
63&#x3F;?%3Fquestion mark
64&#x40;@%3Fat symbol
91&#x5B;[%5Bopening bracket
92&#x5C;\%5Cbackslash
93&#x5D;]%5Dclosing bracket
94&#x5E;^%5Ecaret (circimflex)
123&#x7B;{%7Bopening brace
124&#x7C;|%7Cvertical bar
125&#x7D;}%7Dclosing brace
126&#x7E;~%7Eequivalency sign (tilde)