2016-12-16 93 views
1

我正在創建一個應用程序,用於將消息從一個用戶發送到另一個用戶。消息:Android和iOS之間支持Emijo

此應用程序是在Android和iOS(swift 2.2)中開發的。 /使用StringEscapeUtils.escapeJavaStringEscapeUtils.unescapeJava 編碼方法解碼的字符串爲Unicode

在Android中我使用org.apache.commons來編碼給我這個結果(爲一個包含字符串表情符號):

Hello \uD83E\uDD23

這是不可能在Swift中對此進行解碼。

根據這一post,我認爲iOS的需要這個字符串作爲輸入糾正解碼它:

Hello \u{D83E}\u{DD23}

有一個簡單的方法,使iOS和Android兼容嗎?

回答

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 
}