hi,欢迎访问本站!
当前位置: 首页互联知识正文

utf-8与uft-8 mb4的区别

墨初 互联知识 270阅读

在我们新建mysql数据库的时候,需要指定数据库的字符集。通常情况下我们都会选择utf-8这个字符集,但从mysql5.5.3版本后新增了一个utf-8 mb4的编码集。下面我们就介绍一下utf8与utf8mb4编码集的区别。

utf8字符集的解释

utf8是Mysql中的一种字符集,只支持最长三个字节的UTF-8字符,也就是Unicode中的基本多文本平面。

在一些网站的编码格以及数据库的类型中使用的频率是最多。

utf8mb4的字符集解释

utf8mb4的编码中mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。可以简单的理解utf8mb4是目前最大的一个字符编码,支持任意文字。

注意:utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。

注意:为了节省空间,一般情况下使用utf8也就够了。

utf8字符集与utf8mb4字符集的区别

1、存储字符范围:

utf-8:支持Unicode字符集中的基本多语言平面(BMP)范围内的字符,即0x0000 - 0xFFFF范围内的字符。

utf8mb4:支持Unicode字符集的全部字符,包括BMP范围和辅助平面字符,范围是0x0000 - 0x10FFFF。

2、存储方式:

utf-8:使用1至4个字节来表示字符,根据字符的不同而变化。

utf8mb4:使用1至4个字节来表示字符,同样根据字符的不同而变化。

3、适用范围:

utf-8:适用于大部分应用,但对于需要存储辅助平面字符(如Emoji表情)的情况不够。

utf8mb4:适用于需要存储辅助平面字符的场景,如支持Emoji等。

4、存储空间

由于 utf8mb4需要更多的字节来存储字符,所以在一些数据库中(如MySQL)中,utf8mb4会占用更多的存储空间

PS:utf-8与utf8mb4都是用于表示Unicode字符集中的字符,但由于utf8mb4支持更广泛的字符范围,适用于需要存储特殊字符的情况。

标签:
声明:无特别说明,转载请标明本文来源!
相关推荐