某些表情符号的utf16计数不正确

时间:2018-01-11 20:49:17

标签: swift string

某些表情符号实际上是表情符号组合的错误结果(或者至少是与Twitter等网站不匹配的计数)。

示例问题非常简单

⚖< - 这个表情符号是女性法官(女性+规模) 这个表情符号的数量是1 Swift中这个表情符号的utf16计数是4

let tweet = "‍⚖"
print(tweet.utf16.count)

然而,将这个表情符号粘贴到Twitter(这是一个Twitter似乎不支持你的表情符号)会给出两个表情符号。女人和女人。女人是2个字符,使用utf16计数时缩放是2个字符。但是,Twitter似乎有一个隐藏的虽然是隐形字符。当你试图删除字符时你会注意到这一点。我想知道是否有某种方法可以在移动设备上正确匹配Twitters数量。我已经看过其他网站了,而正确显示单个表情符号,仍然得到正确的计数。

感谢。

1 个答案:

答案 0 :(得分:0)

升级的Twitter pod并在此处使用解决方案的加权长度。

https://developer.twitter.com/en/docs/developer-utilities/twitter-text

对于那些最终遇到类似问题的人,Twitter建议您使用permillage显示进度而不是确切的计数。