* Definiert einen Zeichensatz der möglichst alle Zeichen existierender (aktiver) Sprachen enthält * Zeichensatz -> Zeichen + ihr Code * Definiert nicht die graphische Darstellung der Zeichen * nur das das Zeichen existiert, seinen Namen und seinen Code * die Darstellung muss durch entsprechende Fonts definiert werden * Jedes Zeichen hat einen Code-Point (eine (in der Regel) Hex-Zahl die für dieses Zeichen steht ====== Zeichenkodierung ====== * die Darstellung von Unicode-Codepoints als 1 und 0 * üblich ist UTF und am weitesten verbreitet sind UTF-8 und UTF-16, spezifiziert ist noch UTF-32 * UTF (Unicode Transformation Format) * alle UTF-Kodierungen können alle Unicode-Codepoints kodieren/abbilden * die Zahl hinter UTF (z.B. UTF-8) gibt an wie viele Bits per Default für die Darstellung eines Zeichens verwendet wird * UTF-8 -> 8 Bit aka. 1 Byte * UTF-16 -> 16 Bit aka. 2 Byte * UTF-32 -> 32 Bit aka. 4 Byte * UTF-8 ist in Europa gebräuchlich * die meisten Buchstaben/Zeichen in Europa sind über 1 Byte abbildbar (eigentlich über 7-Bit, das 8te hat eine besondere Bedeutung) * UTF-16 ist in Asien gebräuchlich * da mehr Zeichen notwendig sind (China) * UTF-32 ist nicht gebräuchlich * fixe Abbildung von Code-Points * Sinn von UTF-8 und UTF-16 ist nicht mehr Bits zu belegen als notwendig ist * wenn ein Unicode-Codepoint sich nicht über 8 bzw. 16 Bit passt wird ein weiteres Byte hinzugefügt * und ggf. noch eins, im Zweifel bis zu insgesamt 4 Byte belegt * d.h. UTF-8 nutzt dann z.B. 16 statt 8-Bit oder 24 oder 32 * bei UTF-32 entspricht der Unicode-Codepoint exakt dem wie es auch kodiert wird * Copyright-Zeichen hat Code-Point 00A9 und wird als A9 (mit führenden 0en) kodiert * bei UTF-8 und UTF-16 müssen weitere Informationen (z.B. das ein weiteres Byte folgt) kodiert werden, weshalb die Unicode-Zeichenkodes nicht 1:1 kodiert werden * Copyright-Zeichen hat Unicode-Code-Point 00A9 und wird zu c2A9 in UTF-8