如何将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)!
我使用 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)!