Banyak pekerjaan yang sangat awal dilakukan dengan kode baudot 5-bit, tetapi dengan cepat menjadi sangat terbatas (hanya 32 karakter yang mungkin, jadi pada dasarnya hanya huruf besar, dan beberapa tanda baca, tetapi tidak cukup "ruang" untuk angka) .
Dari sana, beberapa mesin beralih ke karakter 6-bit. Ini masih cukup tidak memadai - jika Anda menginginkan huruf dan angka (huruf besar dan kecil), yang hanya menyisakan dua karakter untuk tanda baca, jadi sebagian besar masih hanya memiliki satu huruf dalam satu set karakter.
ASCII mendefinisikan set karakter 7-bit. Itu "cukup baik" untuk banyak kegunaan untuk waktu yang lama, dan telah membentuk dasar dari set karakter paling baru juga (ISO 646, ISO 8859, Unicode, ISO 10646, dll.)
Komputer biner memotivasi desainer untuk membuat kekuatan ukuran dua. Karena set karakter "standar" membutuhkan 7 bit, itu tidak terlalu sulit untuk menambahkan satu bit lagi untuk mendapatkan kekuatan 2 (dan pada saat itu, penyimpanan menjadi cukup lebih murah sehingga "membuang" sedikit untuk sebagian besar karakter lebih dapat diterima juga).
Sejak itu, set karakter telah pindah ke 16 dan 32 bit, tetapi sebagian besar komputer arus utama sebagian besar didasarkan pada PC IBM asli. Kemudian lagi, cukup pasar cukup puas dengan karakter 8-bit yang bahkan jika PC tidak sampai pada tingkat dominasi saat ini, saya tidak yakin semua orang akan melakukan semuanya dengan karakter yang lebih besar.
Saya juga harus menambahkan bahwa pasar telah berubah sedikit. Di pasar saat ini, ukuran karakter didefinisikan kurang oleh perangkat keras daripada perangkat lunak. Windows, Java, dll., Pindah ke karakter 16-bit dulu.
Sekarang, hambatan dalam mendukung karakter 16 atau 32-bit hanya sedikit dari kesulitan yang melekat pada karakter 16 atau 32-bit itu sendiri, dan sebagian besar dari kesulitan mendukung i18n secara umum. Dalam ASCII (misalnya) mendeteksi apakah sebuah huruf adalah huruf besar atau kecil, atau mengkonversi antara keduanya, sangat sepele. Dalam Unicode / ISO 10646 penuh, ini pada dasarnya tak terlukiskan kompleks (sampai-sampai standar bahkan tidak mencoba - mereka memberikan tabel, bukan deskripsi). Kemudian Anda menambahkan fakta bahwa untuk beberapa set bahasa / karakter, bahkan ide dasar huruf besar / kecil tidak berlaku. Kemudian Anda menambahkan fakta bahwa bahkan menampilkan karakter di beberapa dari mereka masih jauh lebih kompleks.
Itu semua cukup kompleks sehingga sebagian besar perangkat lunak bahkan tidak mencoba. Situasi perlahan membaik, tetapi perlahan adalah kata operatif.