1.字符集与字符编码
计算机在底层只能储存0或者1组成的序列,或者说一个二进制整数,那我们怎样才能让计算机识别一个字符呢?
首先,我们想想那些字符需要让计算机识别?简单考虑,我们可以选择0-9这10个数字字符、a-z这26个小写字母字符、A-Z这26个大写字母字符、一个空格、一个换行,这些字符加起来总共64个。如果计算机能识别这64个字符,那就可以处理大多数的英文字符串了。
然后,我们需要把数字和字符联系上,让计算机一读取到数字,就可以想到字符。而6位的二进制数0~63一共64个数字,足够表示我们的64个字符。
现在我们有了6bit整数,从0到63,我们需要将这些数字与需要识别的字符一一对应,这里给出一种映射规则:让0表示字符0、9表示字符9、10表示字符a、11表示字符b、35表示字符z、36表示字符A、37表示字符B、61表示字符Z、62表示空格、63表示换行。
因为我们用6bit的整数表示字符,又知道每个数字对应的是哪个字符,如果计算机读取到010000 001010 010000 001010
这样一组数(十进制形式为16 10 16 10
),6个一位找到数字,再找到对应的字母,它就知道我们输入给它的字符串是haha。
现在,来为我们做的事起一些好听的名字。我们把需要表示的64个字符的集合叫做字符集(charset),0到63这些数字称为编码空间(codespace&#