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
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.