Common Sense - 字符基础

参考: https://blog.csdn.net/kexinxin1/article/details/93013387

参考: https://blog.csdn.net/xfsnow/article/details/2885948

1.Unicode 和 ASCII的区别

  Unicode里面不管英语还是中文都是 2字节

 ASCII里面一般是英语字符  1字节

2. 字节和位

 1Byte=8bit (2进制)

3. 在Unicode中的英语字符怎么表示

 前面补0

4. 数据库中char/Varchar/Nvarchar之前的区别

 char,等长,就是你设置几个char之后,不管长度多少,系统会自动进行填0补充,(溢出的处理还没有研究过)

 Varchar,可变长,系统根据输入的字符去设置长度,基本是1字节一个字符,采用ASCII编码格式 (溢出的处理还没研究过)

max: 8000 字节

Nvarchar,可变长,系统根据输入的字符去设置长度,基本是2字节一个字符(英语也是,不够补0),采用Unicode编码格式(溢出没有研究过) max: 4000字节

5. charset和collation之间的关联

Mysql里charset 和collation是分离的,charset表示编码,而collation则表示排序,不同的排序方式决定了不同的排序结果,例如大小写不敏感之类的排序方法

SqlServer我嫌麻烦没有下,感觉是没有分离的,在sqlServer里编码和排序是统称collation的,所以不同的编码可能会导致字符显示“???",需要匹配collation(个人理解可能会坑)

 

你可能感兴趣的:(测试)