Schriftzeichen, die außergewöhnlich sind und nicht einfach eingetippt werden können,
können als entities (beschriebenes Zeichen) im text-html-code gespeichert werden. Diese
entities sind aber
keine HTML-Elemente und werden daher auch nicht als tag mit < und >
angegeben, sondern mit & und ; "maskiert".
Code | Elementname original | deutsche Übersetzung |
---|---|---|
&…; | entity (Mehrzahl: entities) |
wird meist nicht übersetzt wörtliche Übersetzung: Instanz, Funktionseinheit, aber auch im Sinne von Exemplar http://de.wikipedia.org/wiki/Instanz_(Informatik) |
named entities | Benannte Zeichen |
Es gibt Zeichen, die immer problemlos eintippbar bzw. mit allen Zeichencode-Tabellen darstellbar sind. Alle anderen können, falls man Probleme erwartet, mit entities "umschrieben" werden. Dafür gibt es mehrere Varianten:
Tag | Beispiel, wie es dargestellt wird |
---|---|
problemlose Schriftzeichen, werden wie sie sind codiert und abgespeichert |
(Leerzeichen) ! " # $ % & '
( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ |
© | © |
© | © |
© | © |
Jedes Schriftzeichen eines Zeichensatzes (engl.: character sets, in HTML das Attribut charset), das am Computer gespeichert wird, muss in eine Zahl umgewandelt werden (Kodierung in eine Folge von bits). Dies gilt für alle Programme und nicht nur für HTML.
Dazu werden Zeichensatztabellen verwendet. Sie legen in Form einer Tabelle fest, welches Schriftzeichen welchem Zahlenwert entspricht und umgekehrt.
Der Zahlenwert wird Codepoint genannt, das zugehörige Schriftzeichen als
abstraktes Zeichen (abstract characters) - die Verbindung aus beiden als
kodiertes Zeichen (encoded character). Die Summer der Codepoints ergeben
den Coderaum (code space). Der Coderaum wird im Allgemeinen durch Integerzahlen repräsentiert.
http://de.wikipedia.org/wiki/Codepoint
http://de.wikipedia.org/wiki/Zeichensatz
http://de.wikipedia.org/wiki/Zeichencodierung
http://de.wikipedia.org/wiki/Zeichensatztabelle
Probleme kann es geben, wenn Daten in einen Computer eingegeben, auf einen anderen transferiert und dort wieder ausgegeben werden. Verwenden beide Computer die selben Zeichensatztabellen, so gibt es kein Problem mit der Darstellung bei der Ausgabe. Probleme gibt es, wenn beide unterschiedliche Zeichensatztabellen verwenden, wie es früher üblich war z.B.:
Einer der ersten Zeichensatztabellen für Computer war der ASCII-Code
(American Standard Code for Information Interchange). Er ist 7 bit lang und
umfasst daher 128 Zeichen (davon 95 "druckbare" Zeichen, die restlichen sind
Steuerzeichen). Die druckbaren Zeichen sind Buchstaben des lateinischen
Alphabets (in Groß- und Kleinschreibung), die zehn arabischen Ziffern sowie
die wichtigsten Satzzeichen und Sonderzeichen:
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~
http://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange
ASCII-Codetabelle (ohne die Steuerzeichen von 0 bis 31)
Bin | Hex | Dez | ASCII | Zeichen |
0100000 | 0x20 | 32 | SP | Leerzeichen |
0100001 | 0x21 | 33 | ! | |
0100010 | 0x22 | 34 | " | |
0100011 | 0x23 | 35 | # | |
0100100 | 0x24 | 36 | $ | |
0100101 | 0x25 | 37 | % | |
0100110 | 0x26 | 38 | & | kaufmännisches und |
0100111 | 0x27 | 39 | ' | |
0101000 | 0x28 | 40 | ( | |
0101001 | 0x29 | 41 | ) | |
0101010 | 0x2a | 42 | * | |
0101011 | 0x2b | 43 | + | |
0101100 | 0x2c | 44 | , | |
0101101 | 0x2d | 45 | - | |
0101110 | 0x2e | 46 | . | |
0101111 | 0x2f | 47 | / | |
0110000 | 0x30 | 48 | 0 | |
0110001 | 0x31 | 49 | 1 | |
0110010 | 0x32 | 50 | 2 | |
0110011 | 0x33 | 51 | 3 | |
0110100 | 0x34 | 52 | 4 | |
0110101 | 0x35 | 53 | 5 | |
0110110 | 0x36 | 54 | 6 | |
0110111 | 0x37 | 55 | 7 | |
0111000 | 0x38 | 56 | 8 | |
0111001 | 0x39 | 57 | 9 | |
0111010 | 0x3a | 58 | : | |
0111011 | 0x3b | 59 | ; | |
0111100 | 0x3c | 60 | < | |
0111101 | 0x3d | 61 | = | |
0111110 | 0x3e | 62 | > | |
0111111 | 0x3f | 63 | ? | |
1000000 | 0x40 | 64 | @ | |
1000001 | 0x41 | 65 | A | |
1000010 | 0x42 | 66 | B | |
1000011 | 0x43 | 67 | C | |
1000100 | 0x44 | 68 | D | |
1000101 | 0x45 | 69 | E | |
1000110 | 0x46 | 70 | F | |
1000111 | 0x47 | 71 | G | |
1001000 | 0x48 | 72 | H | |
1001001 | 0x49 | 73 | I | |
1001010 | 0x4a | 74 | J | |
1001011 | 0x4b | 75 | K | |
1001100 | 0x4c | 76 | L | |
1001101 | 0x4d | 77 | M | |
1001110 | 0x4e | 78 | N | |
1001111 | 0x4f | 79 | O | |
1010000 | 0x50 | 80 | P | |
1010001 | 0x51 | 81 | Q | |
1010010 | 0x52 | 82 | R | |
1010011 | 0x53 | 83 | S | |
1010100 | 0x54 | 84 | T | |
1010101 | 0x55 | 85 | U | |
1010110 | 0x56 | 86 | V | |
1010111 | 0x57 | 87 | W | |
1011000 | 0x58 | 88 | X | |
1011001 | 0x59 | 89 | Y | |
1011010 | 0x5a | 90 | Z | |
1011011 | 0x5b | 91 | [ | |
1011100 | 0x5c | 92 | \ | Backslash |
1011101 | 0x5d | 93 | ] | |
1011110 | 0x5e | 94 | ^ | |
1011111 | 0x5f | 95 | _ | Unterstrich |
1100000 | 0x60 | 96 | ` | |
1100001 | 0x61 | 97 | a | |
1100010 | 0x62 | 98 | b | |
1100011 | 0x63 | 99 | c | |
1100100 | 0x64 | 100 | d | |
1100101 | 0x65 | 101 | e | |
1100110 | 0x66 | 102 | f | |
1100111 | 0x67 | 103 | g | |
1101000 | 0x68 | 104 | h | |
1101001 | 0x69 | 105 | i | |
1101010 | 0x6a | 106 | j | |
1101011 | 0x6b | 107 | k | |
1101100 | 0x6c | 108 | l | |
1101101 | 0x6d | 109 | m | |
1101110 | 0x6e | 110 | n | |
1101111 | 0x6f | 111 | o | |
1110000 | 0x70 | 112 | p | |
1110001 | 0x71 | 113 | q | |
1110010 | 0x72 | 114 | r | |
1110011 | 0x73 | 115 | s | |
1110100 | 0x74 | 116 | t | |
1110101 | 0x75 | 117 | u | |
1110110 | 0x76 | 118 | v | |
1110111 | 0x77 | 119 | w | |
1111000 | 0x78 | 120 | x | |
1111001 | 0x79 | 121 | y | |
1111010 | 0x7a | 122 | z | |
1111011 | 0x7b | 123 | { | |
1111100 | 0x7c | 124 | | | |
1111101 | 0x7d | 125 | } | |
1111110 | 0x7e | 126 | ~ | Tilde |
1111111 | 0x7f | 127 | DEL | Delete |
Die Zeichen des ASCII-Codes entsprechen im Wesentlichen dem der Tastatur bzw. Schreibmaschine in englischer Sprache. Da im ASCII-Code keine länderspezifischen Zeichen vorkommen, wie z.B. die deutschen Umlaute, wurde der ASCII-Code von 7 bit Länge auf 8 bit (= 1 Byte) erweitert. Dieser "Erweiterte ASCII-Code" umfasste nun 256 Zeichen und nicht nur 128 wie der ursprüngliche.
Die zusätzlichen 128 stellen reichten aber nicht aus, um alle anderen benötigten Schriftzeichen der "wichtigsten" Schriften weltweit gleichzeitig unter zu bringen. Daher gibt es vom Erweiterten ASCII-Code 15 Varianten, z.B. Latin-1, Westeuropäisch (ISO 8859-1), Latin-4, Nordeuropäisch (ISO 8859-4), Arabisch (ISO 8859-6), Griechisch (ISO 8859-7), Latin-9, Westeuropäisch (ISO 8859-15) sowie Mitteleuropäisch, Südeuropäisch, Kyrillisch, Hebräisch, Türkisch, Nordisch, Baltisch, Keltisch und Südosteuropäisch.
Verschiedene Betriebssysteme verwendeten auch veränderte Zeichensatztabellen wie z.B.:
Welche Programme / Betriebssysteme
verwenden Unicode (oder andere Zeichencode-Tabellen?
Antwort?
http://de.wikipedia.org/wiki/Unicode#Kodierung
Für die USA und westeuropäische
Länder verwenden Windows und Linux dieselben Codeseiten. Eine Codeseite ist
eine Liste ausgewählter Zeichencodes in einer bestimmten Reihenfolge. Mac OS
X verwendet eine andere Codeseite als Windows und Linux. Für japanische
Betriebssysteme setzen alle Plattformen dieselbe Codeseite ein, d. h.
Portabilität ist bei japanischen Anwendungen kein wirkliches Problem. Wenn
Sie ein VI von einer Plattform auf eine andere übertragen, z. B. von einem
Macintosh auf einen PC oder umgekehrt, kann es aufgrund der verschiedenen
Codeseiten, besonders bei der Verwendung von nicht ASCII-Zeichen im oberen
128-Bereich, zu Problemen kommen. Das französische Wort café beispielsweise
enthält das erweiterte Zeichen é, dessen Hexadezimalwert auf einem PC \0xE9
lautet. Derselbe Hexadezimalwert stellt auf einem Macintosh das Zeichen È
dar.
http://zone.ni.com/reference/de-XX/help/371361K-0113/lvconcepts/porting_among_platforms/
In HTML war für die deutsche Sprache verwendete Zeichensatztabelle
Latin-1, Westeuropäisch (ISO 8859-1), sie umfasst die länderspezifischen
Buchstaben aus Deutsch, Französisch, Spanisch, Schwedisch, …
Um später auch das € (Euro-Zeichen) verwenden zu können wurde sie angepasst
und wurde zur Latin-9, Westeuropäisch (ISO 8859-15). Diese
Zeichensatztabelle immer immer noch auf vielen Webseiten verwendet.
Die ersten 128 Zeichen jeder dieser Zeichensatztabellen entsprechen
immer denen des ASCII-Codes. Die zweite Hälfte der Zeichensatztabellen
enthalten aber abweichende Schriftzeichen, z.B einerseits Umlaute,
andererseits griechische Buchstaben wiederum andererseits kyrillische
Buchstaben usw.
Details:
http://de.wikipedia.org/wiki/ISO_8859
So gesehen sind die Zeichen der ersten 128 Positionen
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~
problemlos verwendbar, da
sie auf jeden Computer (egal welche Zeichensatztabelle dieser verwendet)
die selbe Zahl als Code haben.
Problematisch können nur Zeichen der "Erweiterung" (Position 129 bis 256) sein. Betroffen sind
davon auch z.B.
die Umlaute der deutschen Sprache und das ß (scharfes s).
http://de.wikipedia.org/wiki/ASCII
http://de.wikipedia.org/wiki/ISO_8859-1
http://de.wikipedia.org/wiki/Windows-1252#Windows-1252
http://de.wikipedia.org/wiki/Codepage_437
http://de.wikipedia.org/wiki/Macintosh_Roman
http://de.wikipedia.org/wiki/ISO_8859
http://de.wikipedia.org/wiki/Diakritisches_Zeichen
Details: Manche Applikationen vermischen die Definition von ISO
8859-1 und Windows-1252. Diese Codierungen unterscheiden sich jedoch nur in
den Steuerzeichen im Bereich 8016 bis 9F16. Da
diese beispielsweise in HTML keine Bedeutung haben, werden oft
die druckbaren Zeichen aus Windows-1252 verwendet. Aus diesem Grund schreibt
der neue HTML5-Standard vor, dass als ISO 8859-1 markierte
Texte als Windows-1252 zu interpretieren sind (siehe
http://www.w3.org/html/wg/drafts/html/master/syntax.html#character-encodings)
Quelle:
http://de.wikipedia.org/wiki/ISO_8859-1
Man kann in HTML Zeichen die außerhalb der ersten 128 Stellen liegen, durch entities maskieren. Entities gibt es in drei Schreibvarianten:
Für entities werden nur das Zeichen "&" und ";" verwendet sowie lateinische Kleinbuchstaben bei benannten entities bzw. arabische Ziffern sowie das Symbol "#" bzw. "x" bei nummerischen entities. Diese Zeichen sind alle im Bereich der ersten 128 Stellen. Somit können alle Zeichen außerhalb der ersten 128 Stellen durch Zeichen innerhlalb der ersten 128 Stellen "beschreiben" werden. Somit sind alle Zeichen im text-html-code innerhalb der erste 128 Stellen, die in allen Zeichensatztabellen gleich sind. Daher gibt es keinerlei Probleme mit unterschiedlichen Zeichensatztabellen.
http://webkompetenz.wikidot.com/html-handbuch:entities
Heute kann man diese Probleme besser lösen, indem man die Zeichensatztabelle namens Unicode verwendet. Er ist ein internationaler Standard, er ist größer als 1 Byte und könnte über 1 Million unterschiedlicher Zeichen umfassen. Er soll alle bisherigen (unterschiedlichen und nicht miteinander kompatiblen Zeichensatztabellen) ersetzen und wird alle Schriftzeichen aller Schriften weltweit enthalten (woran aber noch gearbeitet wird).
http://de.wikipedia.org/wiki/Unicode
http://de.wikipedia.org/wiki/Byte_Order_Mark
http://www.unicode.org/
http://de.selfhtml.org/inter/unicode.htm
http://de.wikipedia.org/wiki/Unicode#Weblinks
Auch im Unicode sind die ersten 128 Zeichen identisch mit dem ASCII-Code
und also auch mit allen anderen Zeichensatztabellen kompatibel.
Die weiteren 128 Zeichen sind identisch mit ISO 8859-1 (Latin-1,
Westeuropäisch)., aber nicht mit:
ISO 8859-15 (Latin-9, Westeuropäisch)
Windows-1252 (Windows-1252 Westeuropäisch, Betriebssystem Windows)
Mac OS Roman auch Macintosh Roman (für Westeuropa und Amerika,
Betriebssystem Mac OS dem Vorgänger von Mac OS X)
Auswirkungen?
. Hier ist er also zu allen bisherigen Zeichencode-Tabellen
rückwärtskompatibel.
entspricht er ISO 8859-1) was
bedeutet, dass alle alten Dateien die mit einer "alten" Zeichencode-Tabelle
gespeichert wurde, unverändert als Uniccode
Unicode wird in HTML5-Datei meist in der Form UTF-8 angegeben: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">.
http://webkompetenz.wikidot.com/html-handbuch:zeichenkodierung
http://de.wikipedia.org/wiki/UTF-8
Vorsicht: Das Vorhandensein des passenden Zeichensatzes auf einem Computer garantiert noch nicht die richtige Darstellung einzelner Schriftzeichen. In der verwendeten Schriftart (in CSS mit der Eigenschaft font-family angegeben) muss für das entsprechende Schriftzeichen eine Glyphe (Beschreibung der konkreten grafischen Darstellung des Zeichens) definiert sein. Ist dies nicht der Fall, wird nur ausgegeben.
Quellen:
http://de.wikipedia.org/wiki/Zeichensatz
http://de.wikipedia.org/wiki/Zeichenkodierung
http://de.wikipedia.org/wiki/Zeichenkodierung#Differenzierung_der_Begriffe_durch_Einf.C3.BChrung_des_Unicodes
http://de.wikipedia.org/wiki/Zeichenkodierung#Grafische_Darstellung
http://de.wikipedia.org/wiki/Unicode
http://de.wikipedia.org/wiki/Unicode_Transformation_Format
http://de.wikipedia.org/wiki/Glyphe
http://www.unicode.org/reports/tr17/#CharactersVsGlyphs
http://de.wikipedia.org/wiki/Windows-1252#Windows-1252
http://de.wikipedia.org/wiki/Macintosh_Roman
http://de.wikipedia.org/wiki/ISO_8859-15
http://de.wikipedia.org/wiki/UTF-8
Ist als Zeichensatz Unicode gewählt (charset=utf-8), dann können alle Zeichen direkt, so wie sie sind, im text-html-code stehen, also auch z.B. alle Umlaute, scharfes s usw. Es dürfen diese Zeichen aber auch mti Entities maskiert werden (außer bei HTML5 in XML Serialisierung).
Werden andere Zeichensätze gewählt, wie z.B. US/Westeuropäisch (ISO) (charset=iso-8859-1) oder US/Westeuropäisch (Windows) (charset=windows-1252); sollte man die Zeichen über 127 maskieren.
Auf alle Fälle müssen die Zeichen &, <, > sowie " maskiert werden, da sie als "Steuerzeichen" im text-html-code vorkommen und somit Probleme machen würden:
Zeichen | benanntes entity | englische Bezeichnung | deutsche Bezeichnung | |
& | & | ampersand | kaufmännische und (& ist aus den beiden Buchstaben et entstanden) | alle Zeichen nach & würden als entitiy gelesen werden |
< | < | lower than | kleiner als | alle Zeichen nach < würden als |
> | > | greater than | größer als | |
" | " | quote quotation | Anführungszeichen |
Würde ein & unmaskiert in text-html-code stehen, würde ein Browser
analysieren, dass hier ein entity beginnt und den darauffolgenden Text
fäschlicherweise als
Namen eines entitys interpretieren.
Beispiel: <h2>Obelix & Co</h2>
Der Browser würde Co als Name eines entities interpretieren, kennt aber ein
solches nicht!
Würde ein < unmaskiert in text-html-code stehen, würde ein Browser
analysieren, dass hier ein HTML-Element beginnt und den darauffolgenden Text
fäschlicherweise als
Namen eines HTML-Elements interpretieren.
Beispiel: <p>Wenn a < b ist, kann die Gleichung gelöst werden.</p>
Der Browser würde b als HTML-Element interpretieren und möglicherweise den
nachfolgenden Text fett darstellen.
Würde ein > unmaskiert in text-html-code stehen, würde ein Browser
analysieren, dass hier ein HTML-Element endet und den darauffolgenden Text
falsch interpretieren.
Beispiel: <p>b > a bedeutet, das b die längere Strecke ist</p>
Der Browser könnte interpretieren, dass hier in < vergessen wurde, und dass
hier ein Anfangstag <b> vorliegt und den nachfolgenden Text fett darstellen.
Würde ein " unmaskiert in text-html-code stehen, würde ein Browser
analysieren, dass hier ein Attributwert beginnt oder endet und den darauffolgenden Text
fäschlicherweise als Wert eines Attributs interpretieren oder als Namen
eines weiteren, nachfolgenden Attributs interpretieren.
Beispiel: <img alt="Ein "Schönling" im Wasser." src="ich.jpg" />
Der Browser würde im Alternativtext das " vor Schönling als Ende des
Attributwertes interpretieren und daher das Wort Schönling als nächsten
Attributname interpretieren aber ein solches nicht kennen.
http://de.wikipedia.org/wiki/Kompositionstaste
http://allchars.zwolnet.com/
http://charmap.de/
Expression Web | BlueGriffon | Dreamweaver 8
fehlt noch
http://webkompetenz.wikidot.com/html-handbuch:entities
Zahlen woher? Unicode-charts
http://webkompetenz.wikidot.com/html-handbuch:html-zeichenreferenz-unicode
http://webkompetenz.wikidot.com/html-handbuch:html-zeichenreferenz-unicode
ASCII-Zeichensatz
http://webkompetenz.wikidot.com/html-handbuch:html-zeichenreferenz-entities-ascii
Latin-1
http://webkompetenz.wikidot.com/html-handbuch:html-zeichenreferenz-entities-latin-1
mathematische Symbole
http://webkompetenz.wikidot.com/html-handbuch:html-zeichenreferenz-entities-mathe-symbole
Interpunktion
http://webkompetenz.wikidot.com/html-handbuch:html-zeichenreferenz-entities-interpunktion
http://de.wikipedia.org/wiki/Liste_der_Unicodebl%C3%B6cke
Windows: charmap.exe
einige sind über die Tastatur einfach einzugeben, z.B.: &, <, >, §, %, €, µ, Strg+Umschalt+Leerzeichen ( )
einige: Menü: Einfügen | HTML | Sonderzeichen
weitere: Menü: Einfügen | HTML | Sonderzeichen | weitere
restliche: in der Liste von SELFHTML nachsehen, Code des Zeichens (&name;) kopieren und danach im Eingabefeld von Menü: Einfügen | HTML | Sonderzeichen | weitere einfügen; oder im Arbeitsbereich Code von Dreamweaver direkt einfügen
oder alle: im Arbeitsbereich Code von Dreamweaver & eintippen, es klappt eine Liste mit (allen) benannten Zeichen auf, entweder das entsprechende mittels Bildlaufleiste suchen und mit der Maus anklicken; oder weitere Buchstaben eintippen, damit die Liste weiterspringt, bis passendes Zeichen markiert ist, danach die Eingabetaste klicken (oder sobald man das gewünscht sieht, mit der Maus anklicken)
Eine Liste mit benannten Zeichen findet man in SELFHTML unter HTML-Zeichenreferenz: http://de.selfhtml.org/html/referenz/zeichen.htm (HTML/XHTML » HTML-Referenz » HTML-Zeichenreferenz).
Rest fehlt noch: