UTF-8 hat doch nur 8 Bits, also 1 Byte, was meint man hier mit den 4 Bytes?

3 Antworten

Bei UTF-8 werden für komplexere Zeichen mehrere Bytes kombiniert.

  • a : 1 Byte (wie auch alle anderen ASCII Zeichen)
  • Ä : 2 Byte
  • 火 : 3 Byte

Hier kannst du nachschauen, aus wie vielen / welchen Bytes sich ein Zeichen zusammensetzt: https://onlineutf8tools.com/convert-utf8-to-bytes

Woher ich das weiß:Studium / Ausbildung – Bachelor in Informatik 👨🏻‍🎓

Soweit mir bekannt ist UTF-8 eine multibyte Codierung. Ein Zeichen kann zwischen 1 und 4 Byte haben.

Da man mit einem Byte zwar viele, aber nicht alle Zeichen darstellen kann, bietet UTF-8 die Möglichkeit, die häufigsten Zeichen (insbesondere die ASCII-Zeichen) mit einem einzigen Byte darzustellen, und weniger häufige mit 2, 3 oder 4 Bytes. Wie viele Bytes ein Zeichen hat, ergibt sich aus den ersten Bits des ersten Bytes (entsprechend deiner Tabelle).

Somit kann man mit UTF-8 sämtliche 1.112.064 theoretisch möglichen Unicode-Zeichen darstellen, benötigt dabei für die häufigsten Zeichen aber dennoch nur ein Byte. Die Sache ist also sehr platzsparend.