因为项目需要的硬件设备对于内存要求很严格,设备内存大了价格昂贵不能,设备内存小了不能存储足够的信息也不好。
于是调查设备的时候研究了下容量相关的知识。
bit = 0/1 就是一个二进制数,这是计算机运算的最小单位,也是最基本的单位,什么都会转为01来计算
byte = 8bit byte也就是字节。 是文件存储的最小单位。
不同的编码,存储不同的内容,占用的空间不同。
AscII编码:unicode 存储英文和标点就是一个字节 1 byte 存中文就要2byte.
UTF-8 :存英文要1个byte,存中文要3个byte。
Unicode编码:一个英文等于两个字节,一个中文(含繁体)等于两个字节。 java采用unicode
另外,字符,就是普通理解的字,比如【A,B,?】 都是字符,她们占用一个byte也就是一个字节。
汉字“吴” 也是一个字符。但是这个字符 = 2个byte。
数据库里面的char 对应几个呢?
比如定义一个字段是char(1) 可以保存1,A,a,? 那么能够保存“吴”吗?
答案是可以。
因为数据库的char 是一个字符型数据,相当于本身,一个char 就是两byte, 存A的时候,虽然只用了一个byte . 但是会自动补0 ,也就是0A。 那么存汉字的时候,就自然而然也可以存的
1KB = 1024B;
1M = 1024KB;
1G = 1024M;