ASCII码:
一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算为十进制。最小值0,最大值255。如一个ASCII码就是一个字节。
UTF-8编码:
一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。
Unicode编码:
一个英文等于两个字节,一个中文(含繁体)等于两个字节。
符号:
英文标点占一个字节,中文标点占两个字节。举例:英文句号“.”占1个字节的大小,中文句号“。”占2个字节的大小。
十六进制:01 == 二进制 00000001
二进制里面一个数字代表1Bit 总共16bit
十六进制里面一个数字代表8bit 总共16bit
1一个字节=8bit
mysql varchar(50)
Q1: 到底可以存储多少呢?
Q2: 这里的50又表示什么呢?
这里的50表示的是字符,无论是中文还是字母,一个就是一个字符
所以,这里可以存储50个(中文,字母等)
拓展:
在老版的mysql中会有出入,因为mysql4.0 版本中,这里的50表示的是字节,
而,字母和中文占用的字节不一样,中文会占用3个字节
所以,如果是中文的话,那就是50/3 个中文