Anmelden

Mit der Rechentechnik wurde das Byte als eine grundlegende Informationseinheit eingeführt. Die ursprüngliche Intention für die Größe des Bytes war natürlich seine direkte Verwendung als Schriftzeichen (Ziffern, Buchstaben, Sonderzeichen). Mit seinem Kodierungsvorrat können 256 Zeichen kodiert werden. Dies war lange Zeit ausreichend, bzw. ist immer noch ausreichend, wenn der benötigte Zeichenvorrat max. 256 Zeichen ist (unter Beachtung der 128 ASCII-Zeichen). 

Die Verwendung des Zeichenvorrats wurde dann durch einen Zeichsatz festgelegt, der bei bei allen Vorgängen der Bearbeitung und Anzeige bekannt sein muss. Das bedeutet, im Zusammenhang mit der Speicherung von Zeichen muss immer auch die Kenntnis des zu verwendeneen Zeichsatz sichergestellt werden.

Mit der Internationalisierung von Software, insbesondere mit der Speicherung von Sonderzeichen und mehrsprachiger Inhalte in Datenbanken wurde das Problem der Kenntlichmachung bzw. Umschaltung von Zeichensätzen gravierender. Aus diesem Grund wurde der Unicode-Zeichensatz eingeführt.

Es muss auch zwischen Zeichensatz und Kodierung differenziert werden. Der Zeichensatz bestimmt die Zuordnung eines Zeichen zu einem Zahlencode. Die Kodierung bestimmt die Speicherung des Zahlencodes mittels Bytes. 

Unicode

Unicode ist ein globaler internationaler Zeichensatz, der alle Zeichen aller Sprachen abdeckt. Damit entfällt die Umschaltung von Zeichensätzen, welche bei 8-bit-basierten Zeichensätzen erforderlich ist. Durch Unicode ist es möglich geworden, in einem Dokument oder einer Datenbank mehrsprachige Inhalte zu speichern, ohne partiell Zeichensätze vereinbaren zu müssen.

Bei Unicode handelt es sich in der 1. Version um einen 16-bit-Zeichensatz mit 65536 möglichen Zeichen, der heute als Basic Multilingual Plane (BMP) bezeichnet wird. Später kamen 16 weitere Planes dazu. Alle gebräuchlichen internationalen Zeichensätze sind bereits in der BMP enthalten.

http://de.wikipedia.org/wiki/Unicode

In .NET werden Zeichen grundsätzlich als Unicode (BMP), d.h. mittels 2 Bytes im Arbeitsspeicher verarbeitet.

http://www.yoda.arachsys.com/csharp/unicode.html

UTF-8

UTF-8 ist kein eigenständiger Zeichensatz, sondern eine Kodierungsform von Unicode-Zeichen. Dabei werden Unicode-Zeichen mit einer variablen Anzahl von Bytes gespeichert, aktuell 1 bis 4 Bytes. Die ersten 128 Zeichen von UTF-8 entsprechen dem ASCII-Zeichensatz. Dies deckt lateinischen Zeichen, Ziffern und Sonderzeichen bereits ab, welche bei UTF-8 auch nur ein Byte belegen. Weitere Bytes werden nur bei Erfordernis hinzugezogen. Dadurch ist UTF-8 sehr effektiv. Außerdem ist der Kodierungsvorrat von UTF-8 bzgl. Unicode-Erweiterungen kaum begrenzt, weil der Algorithmus bis auf 8 Bytes ausdehnbar ist.

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

http://www.utf8-zeichentabelle.de/unicode-utf8-table.pl?number=1024&htmlent=1 

Der Algorithmus wird durch die höchstwertigen Bits gesteuert (siehe Links oben, in folgender Tabelle unterstrichen dargestellt). Deutsche Umlaute z.B. ä sind Zwei-Byte-Zeichen. Die undekodierte Darstellung der beiden Zeichen ä weist auf eine UTF-8-Kodierung hin. Sie wird fälschlicherweise unter Annahme des Zeichensatzes ISO 8859-1 angezeigt, wenn das anzeigende Programm nicht weiß, dass es sich bei einer Zeichenkette um UTF8-Kodierung handelt oder diese nicht unterstützt.

Darstellung

Undekodierte Darstellung

UTF-8 (bin)

UTF-8 (hex)

HTML (Entity)

a

a

01000001

41

ä

ä

11000011 10100100

C3 A4

& auml ;

1110#### 10###### 10######

In HTML werden Unicode-Zeichen heutzutage mit Entities kodiert. Anstelle dessen soll sich auch hier die UTF-8-Kodierung durchsetzen, wodurch die Entities entfallen. Moderne Browser unterstützen dies bereits.

http://www.columbia.edu/kermit/utf8.html 

ISO 8859 (Latin)

ISO 8859-1, genauer ISO/IEC 8859-1 (Latin-1) ist ein 8-bit-Zeichensatz für den westeuropäischen Bereich, der auf dem 7-bit-Zeichensatz ASCII basiert. ISO-8859-1 ist nicht identisch mit ISO 8859-1 (Bindestrich beachten), sondern eine Erweiterung von ISO 8859-1 um Steuerzeichen.

ISO(-)8859-1 versucht möglichst viele Sonderzeichen westeuropäischer Sprachen abzudecken. Da zur Vollständigkeit neben dem Eurosymbol vor allem für Französisch und Finnsich einige Zeichen fehlen, wurde ISO/IEC 8859-15 (Latin-9) geschaffen.

http://de.wikipedia.org/wiki/Latin1

Windows-1252 Westeuropäisch

Ist eine 8-Bit-Zeichenkodierung des Microsoft-Betriebssystems Windows, die die meisten westeuropäischen Sprachen unterstützt. Windows-1252 deckt ISO 8859-1 und ISO 8859-15 ab. Im Bereich 80h–9Fh wurden bei Windows-1252 Neudefinierungen vorgenommen. Z.B. das €-Symbol ist bei Windows-1252 80h, dagegen in ISO 8859-15 A4h und in ISO 8859-1 nicht enthalten.

http://de.wikipedia.org/wiki/Latin1

   
Top

Wir arbeiten mit Software von http://www.campus21.de.

Verantwortlich für angezeigte Daten ist der Webdomain-Eigentümer laut Impressum.

Suche