中文输入法为什么会有全角和半角的区别

Q: 中文输入法为什么会有全角和半角的区别?
全角输入,比如123456ABCDE。我想了解下为什么在中文输入法中会有全角这个功能的?我好像没发现它有什么用。

A: 这些全角符号似乎是双字节中文编码的历史遗留问题。当年在纯文本的界面中,为了让西文和中日韩的方块字对齐,就让西文字母、数字和标点也占用一个汉字的视觉空间,并且使用 2 个字节存储。后来,其中的一些全角字符因为比较有用,就得到了广泛应用(比如全角的逗号「,」、问号「?」、感叹号「!」、空格「 」等),专用于中日韩文本,成为了标准的中日韩标点字符。而其它的许多全角符号失去了价值(我们现在很少需要让纯文本的中文和西文字字对齐了),就很少再用了。另外需要说明的是:现在全球文本编码的事实标准是 UTF-8 等基于 Unicode 的编码。Unicode 吸纳了许多遗留(legacy)编码,并且为了兼容性而保留了所有字符。所以这些没什么用的全角字符也留下来了。而国家标准也仍在要求字体和软件支持这些全角字符。不过,半角和全角字符的关系在 UTF-8 等编码中不再是简单的 1 字节和 2 字节的关系了。