文章预览
作者:FESKY 链接:https://juejin.cn/post/7025400771982131236 在开发过程中偶尔会遇到关于编码、Unicode,Emoji 的问题,发现自己对这方面的基础知识并没有充分掌握。所以在经过一番查找学习之后,整理几篇通俗易懂的文章分享出来。 不知道你是否遇到过这样的疑惑,在做表单校验长度的需求中,发现不同字符 length 可能大小不一。比如标题中的 "𠮷" length 是 2(需要注意📢,这并不是一个中文字!)。 j '吉' .length // 1 '𠮷' .length // 2 '❤' .length // 1 '💩' .length // 2 要解释这个问题要从 UTF-16 编码说起。 UTF-16 从 ECMAScript® 2015 规范中可以看到,ECMAScript 字符串使用的是 UTF-16 编码。 定与不定: UTF-16 最小的码元是两个字节,即使第一个字节可能都是 0 也要占位,这是固定的。不定是对于基本平面(BMP)的字符只需要两个字节,表示范围 U+0000 ~ U+FFFF,而对于补
………………………………