如何解码swift 3中的unicode字符?

Cra*_*per 6 unicode utf-8 ios emoji swift3

我正在开发一个聊天应用程序,因为一切正常,除了.此应用程序适用于Android和iOS平台.我们想在聊天中传递表情符号.在android中我们使用UTF编码StringEscapeUtils.它在android中完美运行.当我们通过表情符号在此输入图像描述 它被编码并存储在DB中,如"\ u263A".

现在在android这个字符串也解码并在视图中显示完美,但有些我们不能解码iOS中相同的字符串.我们只是尝试使用UTF字符串进行解码.但它仍然无法正常工作.

我已经按照此链接从变量打印unicode字符(swift)

提前致谢.

Sat*_*ito 5

最简单的方法是使用CFStringTransform,如下所示.

let wI = NSMutableString( string: "\\u263a" )
CFStringTransform( wI, nil, "Any-Hex/Java" as NSString, true )
someUILabel.text = wI as String
Run Code Online (Sandbox Code Playgroud)


Pra*_*ani 5

你应该试试这个:

例如:

let charString = "263A"
    if let charCode = UInt32(charString, radix: 16),let unicode = UnicodeScalar(charCode)
    {
        let str = String(unicode)
        print(str)
    }
    else
    {
        print("invalid input")
    }
Run Code Online (Sandbox Code Playgroud)

如果要在Label/TextField上打印,则:

let charString = "263A"
if let charCode = UInt32(charString, radix: 16),let unicode = UnicodeScalar(charCode)
{
    let str = String(unicode)
    CharLabel.text = str             //Print on Label
    CharTextField.text = str         //Print on TextField
}
else
{
    print("invalid input")
}
Run Code Online (Sandbox Code Playgroud)