Unterschied zwischen UTF8 und Unicode?

1 Antwort

Unicode ist ein Zeichensatz,also nur eine lange liste von Zeichen.

Wie A, B, C, D, E, F, G, H, I, J, K...

Unicode hat das ziel jedem Schriftzeichen von jeder Sprache einen einzigartigen code zuzuweisen(darum, unicode, universal code)

UTF-8 ist eine Kodierung für Unicode(nicht die einzige), also wie diese Zeichen technisch gespeichert werden.

  • UTF-8 speichert den unicode bereich (hex) 0000 0000 – 0000 007F als (binär) 0xxxxxxx
  • den unicode bereich (hex) 0000 0080 – 0000 07FF als (binär) 110xxxxx 10xxxxxx
  • den unicode bereich (hex) 0000 0800 – 0000 FFFF als (binär) 1110xxxx 10xxxxxx 10xxxxxx
  • den unicode bereich (hex) 0001 0000 – 0010 FFFF als (binär) 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

Wobei x variabel ist.
Also, je nach codebereich verbrauchen die zeichen unterschiedlich viel speicherplatz.

Das ist sinnvoll weil die unteren codebereiche am meisten benutzt werden. Sonst würde ja jedes Zeichen 4 byte groß sein(wie es bei UTF-32 ist). Mit UTF-8 sind die häufigsten Zeichen nur 1 byte groß, die weniger häufigen 2, irgendwelche obskuren Ägyptische Hieroglyphen oder keilschrift(Beide ein Zeichen, am besten ranzoomen -> 𒁏, 𓈥) aber 3 oder 4 byte.