【问题标题】:Messaging : Support Emijo between Android and iOS消息:支持 Android 和 iOS 之间的 Emijo
【发布时间】:2017-05-02 03:28:13
【问题描述】:

我正在创建一个应用程序,用于将消息从一个用户发送给另一个用户。

此应用是在 Android 和 iOS (swift 2.2) 中开发的。

在 Android 中,我使用 org.apache.commons 使用 StringEscapeUtils.escapeJavaStringEscapeUtils.unescapeJava 将字符串编码/解码为 Unicode 编码方法给了我这个结果(对于包含表情符号的字符串):

Hello \uD83E\uDD23

这在 Swift 中是不可能解码的。

根据这个post,我认为iOS需要这个字符串作为输入来正确解码它:

Hello \u{D83E}\u{DD23}

有没有简单的方法让 iOS 和 Android 兼容?

【问题讨论】:

    标签: android ios unicode swift2


    【解决方案1】:

    找到解决方案:

    static func decode(input: String) -> String? {
        let ns = NSString(string: input)
        let data:NSData = ns.dataUsingEncoding(NSUTF8StringEncoding)!
    
        return NSString(data:data,encoding:NSNonLossyASCIIStringEncoding) as? String
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-12
      • 2017-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-09
      相关资源
      最近更新 更多