utf8mb4 是定长存储吗?
在数据库实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天主机宝贝就整理分享《utf8mb4 是定长存储吗?》,聊聊,希望可以帮助到正在努力赚钱的你。
utf8mb4 的存储特性
关于 utf8mb4 是否为定长存储的问题,我们从相关文档中了解到:
- utf8mb4 是一种变长的编码,取决于存储的字符。
- 与 utf8mb3 相比,utf8mb4 可以存储更大的字符范围,包括补充字符。
存储空间占用
当存储 BMP 字符(Unicode 中范围 from U+0000 to U+FFFF 的常见字符)时,utf8mb4 和 utf8mb3 具有相同的存储特性:
- 一个英文字符占 1 个字节。
- 一个 BMP 字符最多占 3 个字节。
然而,对于补充字符(超出 BMP 范围的字符),utf8mb4 需要 4 个字节来存储,而 utf8mb3 无法存储它们。
因此,utf8mb4 不是定长存储,其存储空间占用根据存储的字符而变化。存储的字符越多,占用的空间就越大。这主要是因为 utf8mb4 允许存储更宽的字符范围,包括表情符号和中文汉字。
今天带大家了解了的相关知识,希望对你有所帮助;关于数据库的技术知识我们会一点点深入介绍,欢迎大家关注主机宝贝公众号,一起学习编程~