【2】字节字符位

1.什么是字节?什么是字符?什么是位

1、位:

​ 数据存储的最小单位。每个二进制数字0或者1就是1个位;

2、字节:

​ 8个位构成一个字节;即:

​ 1 byte (字节)= 8 bit(位);

​ 1 KB = 1024 B(字节);

​ 1 MB = 1024 KB; (2^10 B)

​ 1 GB = 1024 MB; (2^20 B)

​ 1 TB = 1024 GB; (2^30 B)

3、字符:

​ a、A、中、+、*、の......均表示一个字符;

​ 一般 utf-8 编码下,一个汉字 字符 占用 3 个 字节;

​ 一般 gbk 编码下,一个汉字 字符 占用 2 个 字节;
java基本类型占用字节

byte 1字节(最小值-128 -2^7)(最大值 127 2^7-1)

boolean 至少1字节(只有true和false概念)

short 2字节(最小值-32768 -2^15)(最大值32767 2^15-1)

char 2字节 (最小值 u0000(即为0)) (最大值uffff(即为65,535))

int 4字节(最小值-2147483648 -2^31)(最大值2147483647 2^31-1 )

float 4字节(单精度浮点数字长32位,尾数长度23,指数长度8,指数偏移量127)

long 8字节(最小值-9,223,372,036,854,775,808(-263))(最大值9,223,372,036,854,775,807(263 -1))

double 8字节( 双精度浮点数字长64位,尾数长度52,指数长度11,指数偏移量1023;)

2.数据库的varchar是什么类型?

数据库的存储单位是以字符为单位的(数据展示的最小单位:数字就是单个数字,字母就是单个字母,汉字就是单个汉字,日文就是单个日文)

varchar类型不管是汉字还是字符数字,配置的数量指的是字符

字符和字节没有必然联系,它们完全不是一个位面的概念,所以两者之间没有“区别”这个说法。不同编码里,字符和字节的对应关系不同:

例子

当有8个汉字的时候就保存失败了

7个汉字的时候就是可以保存的

同样应用于数字

3.varchar和char的区别

char类型的长度固定,占用更多的存储空间

varchar长度不固定,用到多少控件占用多少控件

不破不立,怕啥怼啥!
原文地址:https://www.cnblogs.com/yslu/p/13275477.html