gpt4 book ai didi

iphone - 为什么 Emoji 无法在 UITextField 中正确显示?

转载 作者:可可西里 更新时间:2023-11-01 04:48:24 27 4
gpt4 key购买 nike

当使用以下代码设置 Emoji 字符时:

self.textField.text = @"\ue415";

它只是显示为一个正方形。但是当我从键盘输入表情符号时,它会正确显示。有什么问题?

PS:我使用的是 IOS 5.1

Text View with Emoji Characters

最佳答案

在旧版本的 iOS 中,Emoji 字符都在 Unicode 私有(private)使用区中,顾名思义,它是一组明确没有任何关联字符的 Unicode 代码点。但是,Unicode 标准已更新为包含大量 Emoji 字符,因此 iOS 现在使用这些字符,Mac OS X 也是如此。

您可以在 www.unicode.org/charts 的代码图表中查看所有 Unicode 表情符号的列表,例如http://www.unicode.org/charts/PDF/U1F600.pdf这些还会告诉您每个表情符号实际代表什么。

Unicode 表情符号都不在 Unicode 规范的基本多语言平面中,这意味着它们都太大而无法放入单个 iOS unichar。因此,当它们存储在 NSString 中时,每个表情符号将覆盖多个单字符——如果您尝试遍历字符串中的字符,请注意这一点。

如果你有这样的代码

NSString *emoji =@"\U0001F604";
NSString *ascii = @"A";
NSLog(@"emoji.length %d, ascii.length %d", emoji.length, ascii.length);

你会在输出中看到这个

2013-03-08 14:42:22.841 test[23980:c07] emoji.length 2, ascii.length 1

其中单个 😄 张开嘴巴和微笑的眼睛的笑脸表情符号有两个 unichars 长,而不是我们预期的一个。

关于iphone - 为什么 Emoji 无法在 UITextField 中正确显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9940278/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com