我是C预言的菜鸟在做base64的解码在参考是看到了(p[0] << 4) & 0x30
1. 不知知道其中的意思,请大神指点,充裕的话能否讲解下类似的问题。谢谢
假设p所对应的数据是 10101010
p[0] << 4就是将p左移4位,移完之后 p对应的数据就变成 10100000
0x30对应的二进制形式可以表示成00110000
10100000&00110000最后得出的结果就是00100000
Base64就是6位一个编码。
第一个字节用掉高6位后还剩下2位,这个操作就是把剩下的2位左移4,然后右边再需要补上第二个字节的高4位。