
UTF-8 编码下的 emoji 大小不是固定的,可能占用 3~8 字节
参考:Unicode Emoji 列表
比如,可以用以下正则匹配所有 四字节 emoji:
[\\u{10000}-\\u{10FFFF}]
原理说明
-
UTF-8 编码长度
- 常见的 BMP(Basic Multilingual Plane)字符占用 1~3 字节。
- 超出 BMP 范围的字符(如大部分 emoji)会占用 4 字节。
- 某些 emoji 由多个 Unicode 码点组合而成(如带肤色、性别的变体),可能达到 8 字节甚至更多。
-
正则匹配四字节字符
\u{10000}-\u{10FFFF}
表示 Unicode 编码范围在 U+10000 到 U+10FFFF 的字符。- 这些字符在 UTF-8 中会被编码为 4 字节。
- 在 JavaScript 中需要开启
u
(Unicode)标志才能正确解析:const regex = /[\u{10000}-\u{10FFFF}]/gu;
Read more

1.5G到200M,TurboRepo Docker镜像优化指南:轻松打造轻量级镜像
最近往我的TurboRepo中添加了几个后端项目,然后使用Docker部署到服务器上,网上的TurboRepo的打包部署教程比较少,而且有些文章给的方法让Docker的镜像变得很大,所以我这里记录一下我是怎么减少镜像大小的。

治愈画风 | 吉卜力风格的Shadcn主题分享 附上安装教程
你是否也喜欢吉卜力动画那种温暖、治愈的风格?今天为大家推荐一个超级精美的 Shadcn UI 主题

Swift接入Apollo GraphQL并使用CLI生成代码
✏️ 笔者是GraphQL深度爱好者,在学习Swift开发过程中也希望能够将其引入,过程中也遇到一些包管理问题,参阅了官网文档后成功接入,下面是整个过程。