How to change GB-2312 encoding to UTF-8

2019-02-15 19:44发布

I use nsurlsession and received nsdata with GB-2312 encoding. How can I change the encoding from GB-2312 to UTF-8.

I tried this code

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

but it has an error

Use of unresolved identifier 'kCFStringEncodingGB_18030_2000'

1条回答
姐就是有狂的资本
2楼-- · 2019-02-15 20:26

I solved this issue with using the concrete value of gb312 constant instead of the apple defined constant

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

here is the better solution - and thanks for Daij-Djan's suggestion

let cfEnc = CFStringEncodings.GB_18030_2000
let enc = CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(cfEnc.rawValue))
let dogString:String = NSString(data: data, encoding: enc)!
查看更多
登录 后发表回答