标签:
将该值与二进制1000 0000值进行比较,如果小于,则直接将该值作为unsigned char也就是整数值写入。
将该值与二进制1000 000 000 0000 (32768=2<<14)进行比较,如果小于,则将该值低7bit写入第一个字节,同时第8bit置1,再将高7bit写入第二个字节(即将该值右移7位)
以此类推,不再详述。
key长度之后紧接着是key的value,value之后是64bit的序列号和类型的打包PackSequenceAndType。那么就可以理解为何多了8个字节长度了。
序列号和类型打包也很方便,把序列号左移8bit,低8bit按位加上type即可,这个type只有2个值,0表示删除,1表示查找。所以,在leveldb里key删除就是把type值改为0即可。
标签:
原文地址:http://www.cnblogs.com/zzuse/p/5832546.html