为什么ASCII表中的标点符号到处都是?


13

ASCII表中,标点符号出现在非打印字符之间以及数字(!"#$%&')*+,-./)之前,数字与大写字母(:;<=>?@)之间,大写字母([\]^_`)与小写字母之间以及小写字母({|}~)之后。

乍一看,人们希望将它们归为一类。可能在所有字母数字字符之前或之后。但这种情况并非如此; 他们喜欢散布在这些不同的群体中。

为什么会这样呢?是否有某些(可能是历史原因)将字符以这种方式分组的原因?


3
放置数字和字母的位置使其分别从0110000、1000000和1100000分别进行0索引和1索引,以使其更易于解码。标点符号然后填补空白。
David Arno

3
有关更多详细信息,请参见stackoverflow.com/questions/1136156/…的公认答案。
大卫·阿诺

Answers:


9

根据Wikipedia ASCII文章

代码本身是经过模式化的,以便于大多数控制代码在一起,而所有图形代码都在一起,以便于识别。前两列(32个位置)是为控制字符保留的。)“空格”字符必须在图形之前出现,以使排序更容易,因此出于相同的原因,它变为20hex位置,在此之前放置了许多通常用作分隔符的特殊符号数字。委员会认为支持大写64个字母的字母表很重要,并选择了ASCII模式,以便可以很容易地将其简化为一组可用的64个字符的图形代码,就像DEC SIXBIT代码(1963年)所做的那样。因此,小写字母不会与大写字母交错。为了使小写字母和其他图形的选项可用,特殊代码和数字代码被安排在字母之前,并将字母A放置在41hex位置以匹配相应英国标准的草稿。数字0-9的排列方式使其对应于以011开头的二进制值,从而使二进制编码十进制的转换变得简单。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.