3

nsurlsessionGB-2312 エンコーディングで nsdataを使用して受信しました。エンコーディングを GB-2312 から UTF-8 に変更するにはどうすればよいですか?

このコードを試しました

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

しかし、それにはエラーがあります

未解決の識別子「kCFStringEncodingGB_18030_2000」の使用

4

1 に答える 1

8

Apple定義の定数の代わりにgb312定数の具体的な値を使用してこの問題を解決しました

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)!
于 2015-03-18T12:36:50.963 に答える