Convert UTF-8 encoded NSData to NSString

前端 未结 7 910
佛祖请我去吃肉
佛祖请我去吃肉 2020-11-22 08:43

I have UTF-8 encoded NSData from windows server and I want to convert it to NSString for iPhone. Since data contains characters (like a degree symb

7条回答
  •  孤独总比滥情好
    2020-11-22 09:03

    With Swift 5, you can use String's init(data:encoding:) initializer in order to convert a Data instance into a String instance using UTF-8. init(data:encoding:) has the following declaration:

    init?(data: Data, encoding: String.Encoding)
    

    Returns a String initialized by converting given data into Unicode characters using a given encoding.

    The following Playground code shows how to use it:

    import Foundation
    
    let json = """
    {
    "firstName" : "John",
    "lastName" : "Doe"
    }
    """
    
    let data = json.data(using: String.Encoding.utf8)!
    
    let optionalString = String(data: data, encoding: String.Encoding.utf8)
    print(String(describing: optionalString))
    
    /*
     prints:
     Optional("{\n\"firstName\" : \"John\",\n\"lastName\" : \"Doe\"\n}")
    */
    

提交回复
热议问题