数据库存储的是什么编码:
数据库的编码可以设置,首先设置什么编码,字段对应存储的就是什么编码,其次要与文件的编码一致。
char和varchar的区别:
首先明确的是,char的长度是不可变的,而varchar的长度是可变的,可变并不是长度能变长。
1、定义一个char[10]和varchar[10],如果存进去的是‘abcd’,那么char所占的长度依然为10,除了字符‘abcd’外,后面跟六个空格,而varchar就立马把长度变为4了。
2、char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的。
不同字符编码字符占用的字节长度:
数据库数据类型的长度限制是针对于存储的字符编码决定的。任何一种字符编码都是一个中文汉字占用一个字符,对于字节来说,
gbk编码不管中英文一个字符都占2个字节;
a = 2个字节,啊 = 2个字节
utf-8编码一个中文字符(包括中文标点)占用3个字节,一个英文字符(包括英文标点)或数字占用一个字节;
a = 1个字节,啊 = 3个字节
Ascii采用的是二进制编码方式,只有128个字符,没有中文字符,一个英文字母占用一个字节;
a = 1个字节
unicode编码一个字符占用二个字节。
a = 2个字节,啊 = 2个字节