Obwohl ich mit mpen in Bezug auf die aktuellen maximalen UTF-8-Codes (2.164.864) einverstanden bin (siehe unten, ich konnte seine nicht kommentieren), ist er um 2 Stufen versetzt, wenn Sie die 2 Hauptbeschränkungen von UTF-8 entfernen: nur 4 Bytes Limit und Codes 254 und 255 können nicht verwendet werden (er hat nur das 4-Byte-Limit entfernt).
Der Startcode 254 folgt der Grundanordnung der Startbits (Mehrbit-Flag auf 1 gesetzt, eine Anzahl von 6 1 und Terminal 0, keine Ersatzbits), wodurch Sie 6 zusätzliche Bytes zum Arbeiten erhalten (6 10xxxxxx-Gruppen, zusätzliche 2 ^ 36 Codes).
Der Startcode 255 folgt nicht genau der Grundeinstellung, es wird kein Terminal 0 verwendet, aber alle Bits werden verwendet, wodurch Sie 7 zusätzliche Bytes erhalten (Multi-Bit-Flag auf 1 gesetzt, eine Anzahl von 7 1 und kein Terminal 0, da alle Bits verwendet werden ; 7 10xxxxxx Gruppen, zusätzlich 2 ^ 42 Codes).
Wenn Sie diese hinzufügen, erhalten Sie einen endgültigen maximal darstellbaren Zeichensatz von 4.468.982.745.216. Dies sind mehr als alle derzeit verwendeten Zeichen, alte oder tote Sprachen und alle vermutlich verlorenen Sprachen. Engels- oder Himmelsschrift jemand?
Neben 254 und 255: 128-191 und einigen anderen gibt es auch Einzelbyte-Codes, die im UTF-8-Standard übersehen / ignoriert werden. Einige werden lokal von der Tastatur verwendet, Beispielcode 128 ist normalerweise ein Rückraum zum Löschen. Die anderen Startcodes (und zugehörigen Bereiche) sind aus einem oder mehreren Gründen ungültig ( https://en.wikipedia.org/wiki/UTF-8#Invalid_byte_sequences ).