以前用oc写的程序,请求数据的时候用了UTF-8转码,代码如下:
现在由于公司要求,必须要用swift重新写,请问这个转码怎么办?直接访问是不行的,
现在我试过很多方法,都是请求失败,接口网址是没有问题的,我估计就是转码的原因,求高手帮忙解决一下,在此谢过!
以前用oc写的程序,请求数据的时候用了UTF-8转码,代码如下:
现在由于公司要求,必须要用swift重新写,请问这个转码怎么办?直接访问是不行的,
现在我试过很多方法,都是请求失败,接口网址是没有问题的,我估计就是转码的原因,求高手帮忙解决一下,在此谢过!
就是请求接口的网址,应该算是特殊字符吧,问题找到了,自己犯二了,将post方法写错get了,能请求出来数据了,
自己在网上找了一个方法,贴上吧,让后面的人学习,这个方法应该是可以的:
func UTF8ToGB2312(str: String) -> (NSData?, UInt) {
let enc = CFStringConvertEncodingToNSStringEncoding(UInt32(CFStringEncodings.GB_18030_2000.rawValue))
var data = str.dataUsingEncoding(enc, allowLossyConversion: false)
return (data, enc)
}
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let (data, enc) = UTF8ToGB2312("abcd1234")
let gbkStr = NSString(data: data!, encoding: enc)!
println("GBK string is: \(gbkStr)")
}
}
2 回答7k 阅读✓ 已解决
2 回答1.1k 阅读
1 回答1k 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答942 阅读
你这个
surl
会包含特殊字符?