UTF-8 字节数

💾 UTF-8 Byte Count

Estimate the UTF-8 byte size from counts of ASCII and multibyte characters (CJK, emoji) for storage estimation.

📐 计算公式与说明

ASCII = 1 字节
拉丁/希腊等 = 2 字节
CJK 常用字 = 3 字节
Emoji = 4 字节

用于估算多语言文本存储空间。

📚 深度解析:UTF-8 字节数

💡 常见使用场景

示例:10 ASCII + 5 中文
10×1 + 5×3 = 25 字节;若含 emoji 则为 4 字节/个。

❓ 常见问题(FAQ)

UTF-8 为何变长?
ASCII 1 字节、常用汉字 3 字节、部分符号/emoji 4 字节,兼顾兼容与节省。
emoji 占几字节?
多为 4 字节(utf8mb4),部分组合 emoji 更长。
与字符数区别?
字符数≠字节数,UTF-8 下需按字节算存储/传输,避免截断乱码。

Formula & Standard References

Item Formula / Rule Source / Standard
Byte-length tiers U+0000–U+007F uses 1 byte, U+0080–U+07FF uses 2, U+0800–U+FFFF uses 3, U+10000–U+10FFFF uses 4 ISO/IEC 10646 / RFC 3629 §3
Surrogate exclusion U+D800–U+DFFF are UTF-16 surrogates and are invalid in UTF-8 Unicode Standard §3.9, Table 3-7
Self-synchronization The count of leading 1 bits in the lead byte equals the total byte length RFC 3629 §3, UTF-8 syntax