ascii 码表的设计
大写字母的码范围是 65 - 90;
小写字母的码范围是 97 - 122;
为什么大写字母后不是直接排小写字符,而是隔了6个码?为什么a-A不是26而是32?来看看他们的二进制:
A: 65 (0100 0001); Z: 90 (0101 1010)
a: 97 (0110 0001); z: 122 (0111 1010)
看出来了吗,这样设计的结果是大小写字母只在低6位这一位不同,而这样的结果是当需要进行大小写转换时就能利用位运算。
转为小写:|= 32 ;(32:0010 0000)
转为大写:&= -33;(-33:1101 1111)
大小写互换:^= 32
持续更新...