Sono stati fatti molti primi lavori con i codici baudot a 5 bit, ma quelli sono diventati rapidamente piuttosto limitanti (solo 32 caratteri possibili, quindi sostanzialmente solo lettere maiuscole e alcuni segni di punteggiatura, ma non abbastanza spazio per le cifre) .
Da lì, alcune macchine sono passate ai personaggi a 6 bit. Questo era ancora abbastanza inadeguato - se volevi lettere e cifre maiuscole e minuscole (inglesi), che lasciavano solo altri due caratteri per la punteggiatura, quindi la maggior parte aveva ancora un solo caso di lettere in un set di caratteri.
ASCII ha definito un set di caratteri a 7 bit. Questo è stato "abbastanza buono" per molti usi per molto tempo e ha costituito anche la base della maggior parte dei set di caratteri più recenti (ISO 646, ISO 8859, Unicode, ISO 10646, ecc.)
I computer binari motivano i progettisti a creare potenze di due dimensioni. Dato che il set di caratteri "standard" ha richiesto comunque 7 bit, non è stato un grande sforzo aggiungere un altro bit per ottenere una potenza di 2 (e da allora, lo spazio di archiviazione stava diventando abbastanza più economico che "sprecare" un po 'per la maggior parte dei personaggi era anche più accettabile).
Da allora, i set di caratteri sono passati a 16 e 32 bit, ma la maggior parte dei computer tradizionali si basa in gran parte sul PC IBM originale. Ancora una volta, abbastanza del mercato è sufficientemente soddisfatto dei caratteri a 8 bit che, anche se il PC non fosse arrivato al suo attuale livello di dominio, non sono sicuro che tutti farebbero comunque tutto con caratteri più grandi.
Vorrei anche aggiungere che il mercato è cambiato un po '. Nel mercato attuale, la dimensione del carattere è definita meno dall'hardware che dal software. Windows, Java, ecc., Sono passati a caratteri a 16 bit molto tempo fa.
Ora, l'impedimento nel supportare caratteri a 16 o 32 bit è solo minimamente dalle difficoltà inerenti ai caratteri a 16 o 32 bit stessi, e in gran parte dalla difficoltà di supportare i18n in generale. In ASCII (ad esempio) rilevare se una lettera è maiuscola o minuscola o convertire tra le due è incredibilmente banale. In pieno Unicode / ISO 10646, è fondamentalmente indescrivibilmente complesso (al punto che gli standard non provano nemmeno: danno tabelle, non descrizioni). Quindi aggiungi il fatto che per alcune lingue / set di caratteri, anche l' idea di base del maiuscolo / minuscolo non si applica. Quindi aggiungi il fatto che anche mostrare i personaggi in alcuni di questi è ancora molto più complesso.
È tutto sufficientemente complesso che la stragrande maggioranza dei software non ci prova nemmeno. La situazione sta lentamente migliorando, ma lentamente è la parola chiave.