utf8mb4 是定长存储吗?

utf8mb4 是定长存储吗?

数据库 2024-11-12 11:10:15 9个月前

utf8mb4 的存储特性

关于 utf8mb4 是否为定长存储的问题,我们从相关文档中了解到:

utf8mb4 是一种变长的编码,取决于存储的字符。与 utf8mb3 相比,utf8mb4 可以存储更大的字符范围,包括补充字符。

存储空间占用

当存储 BMP 字符(Unicode 中范围 from U+0000 to U+FFFF 的常见字符)时,utf8mb4 和 utf8mb3 具有相同的存储特性:

一个英文字符占 1 个字节。一个 BMP 字符最多占 3 个字节。

然而,对于补充字符(超出 BMP 范围的字符),utf8mb4 需要 4 个字节来存储,而 utf8mb3 无法存储它们。

因此,utf8mb4 不是定长存储,其存储空间占用根据存储的字符而变化。存储的字符越多,占用的空间就越大。这主要是因为 utf8mb4 允许存储更宽的字符范围,包括表情符号和中文汉字。

文章版权声明:除非注明,否则均为网络转载文章,转载或复制请以超链接形式并注明出处。