当前位置:  开发笔记 > 编程语言 > 正文

安全分裂表情符号

如何解决《安全分裂表情符号》经验,为你挑选了1个好方法。

我试图将一个字符串分成单个单词/字符,但是当涉及表情符号时我遇到了麻烦.

首先,我不能简单地使用空字符拆分字符串,因为表情符号通常长度> = 2.

"".split("")
["?", "?"]

我发现了一个表情符号的表情符号,但现在我看到了一些奇怪的肉色块.在某些情况下,我甚至会看到它们出现在Twitter上.

在此输入图像描述

这是用笔来说明肉块的问题 http://codepen.io/positlabs/pen/QyEOEG?editors=011

在此输入图像描述

更新-----------

尝试spliddit,我仍然看到肤色字符的问题.有没有办法将它们粘合在一起?

http://codepen.io/positlabs/pen/rxLqwL?editors=001



1> Blender..:

JavaScript的字符串是UTF-16,因此您的表情符号在内部表示为两个代码单元:

> "\ud83d\ude0e" === ""
true

String.prototype.split函数并不真正关心UTF-16中的代理对,因此它天真地反转单个代码单元并破坏您的表情符号,因为JavaScript没有提供任何方法来处理字符串中的单个字符.

处理它没有简单的方法.您需要像spliddit这样的库来正确处理各个代码单元.

我不是100%熟悉术语,所以请根据需要编辑我的答案.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有