正常来讲,会通过加减ASCII码来实现。
假设我们想把“BaSiC”全部变为大写,那么我们需要先判断每个字符是否需要被转换,方法无非是判断这个字符的ascii码是否在65-90之间,如果不是的话,就加上32。因为大小写字母的ascii码差值为32。
但是如果我们观察其二进制表示,则会发现除第五位(从0开始),大小写字母其他位都一样。大写字母第五位为0,小写字母第五位为1。这样一来,不管这个字母是大写字母还是小写字母,我们只需要把他的第五位变为0,那么,它必然会变成大写字母。这样一来,我们就省去了判断的过程。