使用NSURLSession返回特殊字符

时间:2015-09-06 21:10:58

标签: ios swift nsurlconnection

所以我将这些数据作为nil返回给NSURLSession,其中一个字段带有重音e。当重音e被删除时,数据返回工作正常。

有没有办法让这项工作有可能返回非标准的英文字符?

我正在使用任务格式:

    let url = NSURL(string: "www.test.com")
    var session = NSURLSession.sharedSession()
    let loadDataTask = session.dataTaskWithURL(url!, completionHandler: { (data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in
        let string1 = NSString(data: data, encoding: NSUTF8StringEncoding)
        println(string1)
    }

1 个答案:

答案 0 :(得分:0)

您可能无法以UTF-8编码恢复数据。我不确定这是如何转换成Swift的,但是这是你在Objective-C中所做的:

NSString *encodingName = response.textEncodingName;
CFStringEncoding cfsenc = CFStringConvertIANACharSetNameToEncoding((__bridge CFStringRef)encodingName);
NSStringEncoding nssenc = CFStringConvertEncodingToNSStringEncoding(cfsenc);

然后在创建NSString时传递该值而不是NSUTF8StringEncoding

希望有所帮助。