5位baudot码确实做了很多真正的早期工作,但是很快就变得非常局限(只有32个可能的字符,因此基本上只有大写字母和一些标点符号,但数字的“空格”不足) 。
从那里开始,相当多的机器使用了6位字符。但是,这仍然远远不够-如果您要使用大写和小写(英文)字母和数字,那么只剩下两个用于标点符号的字符,因此大多数字符集中只包含一个字母。
ASCII定义了一个7位字符集。很长时间以来,这种“足够好”的使用已经成为大多数新字符集的基础(ISO 646,ISO 8859,Unicode,ISO 10646等)。
二进制计算机激励设计人员将大小的幂乘以2。由于“标准”字符集无论如何都需要7位,因此再增加一位以获得2的幂数并不需要花费太多时间(到那时,存储变得越来越便宜,大多数字符都“浪费”了一点时间)也被接受)。
从那时起,字符集已移动到16位和32位,但是大多数主流计算机很大程度上都基于原始的IBM PC。再说一次,市场上足够多的人对8位字符感到满意,即使PC尚未达到目前的主导水平,我也不确定每个人都不会使用较大的字符来做所有事情。
我还要补充一点,市场已经发生了很大变化。在当前市场中,字符定义的大小由硬件定义的少于软件。Windows,Java等很久以前已移至16位字符。
现在,支持16位或32位字符的障碍仅是最小的,原因是16位或32位字符本身固有的困难,而很大程度上是总体上支持i18n的困难。例如,在ASCII中,检测字母是大写还是小写,或者在两者之间进行转换是非常琐碎的。在完整的Unicode / ISO 10646中,它基本上是难以描述的(要点是标准甚至不尝试-它们只是提供表,而不是描述)。然后,您添加一个事实,即对于某些语言/字符集,甚至大写/小写的基本概念都不适用。然后添加一个事实,即使在其中一些字符中显示字符仍然要复杂得多。
这些都非常复杂,以至于绝大多数软件甚至都没有尝试过。情况正在缓慢改善,但执行起来却很缓慢。