32位的Hash在内存中占用多少空间,有存储效率之说吗?
是1个英文字符等于1bit吗
首先,1bit(1位)的含义是一个1或者0或二进制的1位数。1byte(1个字节)是8个bit,一个字节用16进制表示是2位数(0x00~0xFF)
hash如果是未经编码的形式,那么所谓32位的hash占用的地方就是32位,也就是4字节。这个长度范围只有0~0xFFFFFFFF(42亿),普通的hash不会范围那么小。一般普通的md5 hash的长度是16字节,用16进制表示的话是32位数,也就是长度为32,由0~F组成的字符串,以raw存储占16字节,以字符串存储占32字节
存储要看编码,比如选择UTF-8,GBK之类的,每个字节大小都不一样。如果按ASCII码存储,一个英文字符是1字节=8bits。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(2)
首先,1bit(1位)的含义是一个1或者0或二进制的1位数。1byte(1个字节)是8个bit,一个字节用16进制表示是2位数(0x00~0xFF)
hash如果是未经编码的形式,那么所谓32位的hash占用的地方就是32位,也就是4字节。这个长度范围只有0~0xFFFFFFFF(42亿),普通的hash不会范围那么小。一般普通的md5 hash的长度是16字节,用16进制表示的话是32位数,也就是长度为32,由0~F组成的字符串,以raw存储占16字节,以字符串存储占32字节
存储要看编码,比如选择UTF-8,GBK之类的,每个字节大小都不一样。如果按ASCII码存储,一个英文字符是1字节=8bits。