<sub class="descriptionSection">10-12-2024 08:32:am // #Codes // [[TI]]</sub> ____ UTF-8 kodiert Unicode Codepoints mit einem, zwei, drei oder vier Bytes, je nachdem wieviele signifikante Bits im Unicode Codepoint enthalten sind. | Unicode Codepoint | Gesetzte Bits | UTF-8 Bytes | UTF-8 Byte 1 | UTF-8 Byte 2 | UTF-8 Byte 3 | UTF-8 Byte 4 | | --------------------- | ------------- | ----------- | ------------ | ------------ | ------------ | ------------ | | Von U+0000 bis U+007F | 7 | 1 | 0xxx xxxx | - | - | - | | U+0080 bis U+07FF | 11 | 2 | 110x xxxx | 10xx xxxx | - | - | | U+0800 bis U+FFFF | 16 | 3 | 1110 xxxx | 10xx xxxx | 10xx xxxx | - | | U+10000 bis U+10FFFF | 21 | 4 | 1111 0xxx | 10xx xxxx | 10xx xxxx | 10xx xxxx | - Im ersten Code bereich (U+0000 bis U+007F) entspricht UTF-8 dem US-ASCII-Code - Das erste Byte wird immer als Startbyte (Preamble) bezeichnet. Es beginnt mit "0" oder mit "11" - Die weiteren Bytes sind "Folgebytes", wenn diese mit "10" beginnen ## Beispiel für die Kodierung mit UTF-8 > [!NOTE] Unicode Charts > Unicodes Codepoints sind verfügbar auf: https://unicode.org "€" = Codepoint 20AC 1. Entsprechend der Tabelle werden 3 Bytes zur Kodierung benötigt, da der Codepoint zwischen U+0800 und U+FFFF liegt 2. 20AC => $0010 0000 1010 1100_{(2)}$ 3. 1110 ==0010== (erstes 4 bit des Codepoints) 10==00 0010== (zweite 4bits + 2 um byte aufzufüllen) 10==10 1100== 4. => Die UTF-8 Codierung heißt: $ 1110\text{ }0010 \text{ } 1000\text{ }0010 \text{ }1010 \text{ }1100 $ $ E282AC (hexadezimale = UTF-8) $