微信群名无法使用个别的多个emoji
大约 2 分钟
问题
在微信修改群名称的时候,发现无法使用多个特定的emoji,但是有许多emoji是可以使用多个的。
无法使用的emoji:👨👨👧👧
思路
由技术常识知道,emoji底层本质上也是Unicode编码的符号,那有没有可能是个别emoji的底层Unicode编码过长导致的呢?我们需要途径去查看emoji的Unicode编码,可以通过这个网站去查看(Unicode Full Emoji List)。这个网站包含了所有最新的emoji,因此加载的时候比较慢。
实践
在这里面我们可以看到,这几个emoji的Unicode编码都很长:
№ | Code | Browser | Sample | GMail | SB | DCM | KDDI | CLDR Short Name |
---|---|---|---|---|---|---|---|---|
548 | U+1F46A | 👪 | — | — | family | |||
549 | U+1F9D1 U+200D U+1F9D1 U+200D U+1F9D2 | 🧑🧑🧒 | — | — | — | — | ⊛ family: adult, adult, child | |
550 | U+1F9D1 U+200D U+1F9D1 U+200D U+1F9D2 U+200D U+1F9D2 | 🧑🧑🧒🧒 | — | — | — | — | ⊛ family: adult, adult, child, child |
同时我们发现,这个一家四口的表情是由好几个单独的人头emoji拼接起来的🤣,怪不得这么长,这也算是一个取巧的方式~
同时我们去验证了一下微信的群名称长度限制,测试出来的结果是长度限制为32个字符,即16个中文。这样就很简单想明白为什么这些特定的emoji会超长啦。
收获
通过探索微信群名无法使用个别的多个emoji的这个问题,顺便了解到了emoji的底层实现原理,在以后涉及到emoji场景的字符长度问题时会有新的解题思路。