Es wurde sehr früh mit 5-Bit-Baudot-Codes gearbeitet, aber diese wurden schnell ziemlich einschränkend (nur 32 mögliche Zeichen, also im Grunde nur Großbuchstaben und ein paar Satzzeichen, aber nicht genug "Platz" für Ziffern). .
Von dort gingen etliche Maschinen auf 6-Bit-Zeichen über. Dies war jedoch immer noch ziemlich unzureichend - wenn Sie Groß- und Kleinbuchstaben und Ziffern (Englisch) wollten, blieben nur zwei weitere Zeichen zur Interpunktion übrig, sodass die meisten nur noch einen Buchstaben in einem Zeichensatz hatten.
ASCII definiert einen 7-Bit-Zeichensatz. Das war lange Zeit "gut genug" für viele Anwendungen und hat auch die Grundlage für die meisten neueren Zeichensätze (ISO 646, ISO 8859, Unicode, ISO 10646 usw.) gebildet.
Binärcomputer motivieren Designer, Größenpotenzen von zwei zu erreichen. Da der "Standard" -Zeichensatz ohnehin 7 Bit benötigte, war es keine große Anstrengung, ein weiteres Bit hinzuzufügen, um eine Potenz von 2 zu erhalten (und zu diesem Zeitpunkt wurde der Speicherplatz billiger genug, um für die meisten Zeichen etwas "zu verschwenden" war auch akzeptabler).
Seitdem sind die Zeichensätze auf 16 und 32 Bit verschoben worden, aber die meisten gängigen Computer basieren größtenteils auf dem ursprünglichen IBM PC. Andererseits ist der Markt mit 8-Bit-Zeichen hinreichend zufrieden, so dass ich nicht sicher bin, ob jeder mit größeren Zeichen alles machen würde, auch wenn der PC nicht seine derzeitige Dominanz erreicht hätte.
Ich sollte auch hinzufügen, dass sich der Markt ziemlich verändert hat. Auf dem gegenwärtigen Markt wird die Zeichengröße weniger von der Hardware als von der Software bestimmt. Windows, Java usw. sind vor langer Zeit auf 16-Bit-Zeichen umgestiegen.
Das Hindernis bei der Unterstützung von 16- oder 32-Bit-Zeichen ist nur minimal auf die Schwierigkeiten zurückzuführen, die 16- oder 32-Bit-Zeichen selbst inhärent sind, und größtenteils auf die Schwierigkeit, i18n im Allgemeinen zu unterstützen. In ASCII (zum Beispiel) ist das Erkennen, ob ein Buchstabe in Groß- oder Kleinbuchstaben geschrieben ist, oder das Konvertieren zwischen den beiden unglaublich trivial. In vollem Unicode / ISO 10646 ist es im Grunde genommen unbeschreiblich komplex (bis zu dem Punkt, an dem die Standards es nicht einmal versuchen - sie geben Tabellen, keine Beschreibungen). Dann fügen Sie in der Tatsache , dass für einige Sprachen / Zeichensätze, auch die Grundidee von Groß- / Kleinschreibung nicht gilt. Hinzu kommt, dass das Anzeigen von Zeichen in einigen von ihnen noch viel komplexer ist.
Das ist alles so komplex, dass die überwiegende Mehrheit der Software es nicht einmal versucht. Die Situation verbessert sich langsam, aber langsam ist das operative Wort.