Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
faecher:informatik:oberstufe:codierung:utf8:start [13.10.2021 17:01] – [Beispiele:] Mareike Nutz | faecher:informatik:oberstufe:codierung:utf8:start [21.09.2022 19:37] – [Beispiele:] sbel | ||
---|---|---|---|
Zeile 49: | Zeile 49: | ||
* Ist die Binärdarstellung des Unicode-Codes nicht länger als ein Byte und das das erste Bit eine 0, werden die restlichen 7 Bit gemäß des ASCII Codes verwendet, die 128 verbleibenden Möglichkeiten entsprechen also genau dem ASCII-Code. | * Ist die Binärdarstellung des Unicode-Codes nicht länger als ein Byte und das das erste Bit eine 0, werden die restlichen 7 Bit gemäß des ASCII Codes verwendet, die 128 verbleibenden Möglichkeiten entsprechen also genau dem ASCII-Code. | ||
- | * Ist die Binärdarstellung des Unicode-Codes länger als ein Byte oder der Code ist ein Byte lang und beginnt mit einer '' | + | * Ist die Binärdarstellung des Unicode-Codes länger als ein Byte oder der Code ist ein Byte lang und beginnt mit einer '' |
==== Beispiele: ==== | ==== Beispiele: ==== | ||
Zeile 57: | Zeile 57: | ||
'' | '' | ||
- | Beginnt mit einer Null und ist nicht länger als ein Byte -> die letzen | + | Beginnt mit einer Null und ist nicht länger als ein Byte -> die letzten |
**UTF-8: 0110 1011** | **UTF-8: 0110 1011** | ||
Zeile 74: | Zeile 74: | ||
Die UTF-8 Codierung des Unicode-ä ist also '' | Die UTF-8 Codierung des Unicode-ä ist also '' | ||
+ | |||
+ | **(3)** | ||
+ | |||
+ | {{: | ||
+ | |||
+ | '' | ||
+ | |||
+ | * 16 Bit Daten zu codieren, dafür braucht man 3 Byte ( 3 x 6 = 18) | ||
+ | * Der UTF-8 Code beginnt also mit der Startsequenz '' | ||
+ | * Dann von rechts beginnend 6 Bit (01 000), das Byte beginnt mit 10 (Regel) also ist das dritte Byte '' | ||
+ | * Die nächsten 6 Bit analog: | ||
+ | * Die fehlenden 4 Bit '' | ||
+ | |||
+ | Die UTF-8 Codierung des Unicode-Zeichens 乔 ist also 3 Byte lang und sieht so aus: '' | ||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A3) === | ||
+ | |||
+ | Wandle die nachfolgenden Zeichen des Unicode Zeichensatzen in die UTF-8-Codierung um. Der Hexadezimalcode des Unicode Zeichens ist jeweils angegeben. | ||
+ | |||
+ | Gehe jeweils wie in den Beispielen oben vor. Markiere die " | ||
+ | |||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | - '' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ++++ Lösung 1 | | ||
+ | 0**1001001**, | ||
+ | ++++ | ||
+ | ++++ Lösung 2 | | ||
+ | 110**00011** 10**010110** | ||
+ | ++++ | ||
+ | ++++ Lösung 3 | | ||
+ | 1110**0101** 10**111100** 10**001000** | ||
+ | ++++ | ||
+ | ++++ Lösung 4 | | ||
+ | 1111**0000** 10**011111** 10**011000** 10**001010** | ||
+ | ++++ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{: | ||
+ | === (A4) === | ||
+ | |||
+ | Wie viele unterschiedliche Unicode-Zeichen lassen sich theoretisch mit 1 Byte, 2 Bytes, 3 Bytes und 4 Bytes unter Beachtung der UTF-8-Regeln darstellen? | ||
+ | |||
+ | ++++ Lösung | | ||
+ | * 1 Byte: 7 nutzbare Bits -> 2< | ||
+ | * 2 Bytes: 5+6 = 11 nutzbare Bits -> 2< | ||
+ | * 3 Bytes: 4+6+6 = 16 nutzbare Bits -> 2< | ||
+ | * 4 Bytes: 3+6+6+6 = 21 nutzbare Bits -> 2< | ||
+ | ++++ | ||
+ | |||
+ | ==== Material ==== | ||
+ | |||
+ | {{simplefilelist> | ||
+ | |||
---- | ---- | ||
- | CC-BY-SA Frank Schiebel, mit Material von Kimmig, ZPG Informatik BW | + | //CC-BY-SA Frank Schiebel, mit Material von Kimmig, ZPG Informatik BW// |