
获得徽章 0
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
赞了这篇文章
「你不知道的 Java 冷知识」char 基本类型可以装下一个 utf8 字符吗?
答案是:不一定。char 占用 2 字节,可表示的范围大小为 Unicode 0 ~ Unicode 2^16 - 1,最多可表示 3 字节(最大值 2^16 - 1)的 utf8 编码,但 utf8 编码中最长支持 6 字节(最大值 2^31 -1),例如我们喜闻乐见的 Emoj 表情,大都是 4 字节 utf8 编码,
说的正是在下 😯
这里不得不提一嘴,mysql 中 utf8 编码的 char 类型是固定 3 字节,后来为了支持 Emoj 表情,增加了 utf8mb4 编码,它的 char 类型是固定 4 字节。
又一个冷知识:其中 mb4 的意思(most bytes 4),最多 4 个字节。
答案是:不一定。char 占用 2 字节,可表示的范围大小为 Unicode 0 ~ Unicode 2^16 - 1,最多可表示 3 字节(最大值 2^16 - 1)的 utf8 编码,但 utf8 编码中最长支持 6 字节(最大值 2^31 -1),例如我们喜闻乐见的 Emoj 表情,大都是 4 字节 utf8 编码,
这里不得不提一嘴,mysql 中 utf8 编码的 char 类型是固定 3 字节,后来为了支持 Emoj 表情,增加了 utf8mb4 编码,它的 char 类型是固定 4 字节。
又一个冷知识:其中 mb4 的意思(most bytes 4),最多 4 个字节。
展开
2
2
赞了这篇文章
赞了这篇文章
赞了这篇文章