博客对最新评论展示做了一个字符裁切,没想到如果正好遇到裁切点是emoji的时候会报错。问题是由于 JavaScript 中的字符串是由 UTF-16 编码的字符组成的,而 emoji 通常由两个 UTF-16 字符组成。当尝试裁剪字符串时,如果裁剪位置恰好在一个 emoji 的中间,那么就会得到一个无效的字符,从而导致错误。