iphone - 如何将旧的表情符号编码转换为 iOS5 中的最新编码?

标签 iphone ios unicode encoding emoji

可悲的是,在 iOS5 终于发布后,我收到用户的报告说他们无法登录。

因为名字里有emoji符号,苹果改变了emoji的编码。

所以用户名包含旧版本的表情符号,我如何将它们转换为新的编码?

谢谢!

具体:一个emoji符号“老虎”,在iOS5中是“\U0001f42f”,在更早的iOS版本中是“\ue050”。

最佳答案

iOS 5 和 OS X 10.7 (Lion) 使用 Unicode 6.0 标准“统一”表情符号代码点。

SoftBank iPhone 上的 iOS 4 使用了 Unicode 专用区中的一组非官方代码点,因此与任何其他系统都不兼容。要从这种格式转换为正确的 Unicode 6.0 字符,您需要运行一个从 Softbank 代码到 Unified 的大型查找表,遍历所有当前数据和提交的所有新表单数据。此时您可能还想进行 Unicode 规范化,例如。全角字母与普通 ASCII 字母匹配。

参见示例 this table来自为 PHP 执行表情符号转换任务的库。

但是用户名中的表情符号? enter image description here

关于iphone - 如何将旧的表情符号编码转换为 iOS5 中的最新编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7856775/

相关文章:

iphone - 将一个对象插入多个关系 - IOS Core Data

iphone - 在安装或更新后以编程方式在应用程序中还原以前的应用程序内购买吗?

java - Itext PDF writer,有什么方法可以在pdf中允许unicode下标符号吗? (没有 setTextRise)

iphone:gameKit 无法连接到非 Apple 设备?

ios - 访问同一个类的另一个接口(interface)中的方法

ios - 如何确保在文本字段中仅选择选择器数据

iOS Metal 资源 - 在哪里可以找到

python - DictReader 和 UnicodeError

java - 双角字符的 String.format

iphone - 如何使用 Apple 钥匙串(keychain)?