如何将GB-2312编码改为UTF-8

How to change GB-2312 encoding to UTF-8

我使用 nsurlsession 并收到了 GB-2312 编码的 nsdata。如何将编码从 GB-2312 更改为 UTF-8。

我试过这个代码

let enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)
var result = NSString(data: data, encoding:enc)!

但是有错误

Use of unresolved identifier 'kCFStringEncodingGB_18030_2000'

我使用 gb312 常量的具体值而不是 apple 定义的常量解决了这个问题

let enc = CFStringConvertEncodingToNSStringEncoding(0x0632);     
let dogString:String = NSString(data: data, encoding: enc)!
println(dogString)

这是更好的解决方案 - 感谢 Daij-Djan 的建议

let cfEnc = CFStringEncodings.GB_18030_2000
let enc = CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(cfEnc.rawValue))
let dogString:String = NSString(data: data, encoding: enc)!