老是记不住数字、字母的ASCII表值,每次使用都要查一查,总觉得有点不爽。今天看过《Windows程序设计》的下边一段话后,才发现,哎呀,ASCII表是经过巧妙设计的,自己没发现罢了。
“ASCII有许多优点。例如,26个字母代码是连续的;大写字母和小写字母可通过改变一位数据而相互转化;10个数字的代码可从数值本身方便地得到”
先看字母: ——要用二进制码和16进制码才能看出妙来
大写字母A 对应 0100 0001 41
小写字母a对应 0110 0001 61
看看后4位,26个字母的第一个就用1表示,无论大小写。再看前四位,大小写字母之间只需要改变第3位就OK了,那么为什么A对应的前4位是0100,而不是1000 或 0001呢,首先ASCII只对应到127,所以第一个Bit肯定是0;然后26个字母的表示需要5个Bit,所以前4位的第4个Bit就不能用了,那么只能在第2、3Bit下功夫了,00 、01、10、11 任选两对就可以了,至于为什么选择了 10 、11,我就不清楚了。
再看看数字:
数字0对应 0011 0000
数字1对应 0011 0001
后4位,就是数字大小。前四位为什么用 0011,我就不清楚了。
再看看几个常用的按键:
Backspace 0000 1000 08 8
Enter 0000 1101 0D 13
Esc 0001 1011 1B 27
Space 0010 0000 20 32
0 0011 0000 30 48
A 0100 0001 41 65
a 0110 0001 61 95
也许通过上边几个键值的前四位的变化比较看出点端倪,我没有充分的证据,就不乱说了。
生活TMD需要激情,做事需冷静,说话需冷静!
遇事记着:办法总比困难多,困难和问题说不定就是机遇和转折!
历史证明:哪个环节没照顾到,哪个环节就会出问题!能自己来,就不要让别人来。