扫码关注官方订阅号
以前用oc写的程序,请求数据的时候用了UTF-8转码,代码如下:
现在由于公司要求,必须要用swift重新写,请问这个转码怎么办?直接访问是不行的,
现在我试过很多方法,都是请求失败,接口网址是没有问题的,我估计就是转码的原因,求高手帮忙解决一下,在此谢过!
ringa_lee
你这个 surl 会包含特殊字符?
surl
就是请求接口的网址,应该算是特殊字符吧,问题找到了,自己犯二了,将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)") } }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你这个
surl会包含特殊字符?就是请求接口的网址,应该算是特殊字符吧,问题找到了,自己犯二了,将post方法写错get了,能请求出来数据了,
自己在网上找了一个方法,贴上吧,让后面的人学习,这个方法应该是可以的: