字符編碼經(jīng)常能聽到的有Unicode操禀、UTF-8常熙、GBK、GB2312跋选、GB18030、BIG5等,大體分兩類:全球統(tǒng)一編碼和各過個語種的獨立編碼
Unicode是典型的全球統(tǒng)一編碼哗蜈。不管在那個國家前标,同一個字的unicode字符都是一樣的坠韩。常用的unicode字符為2個字節(jié),也有4個字節(jié)編碼候生。
UTF8是unicode的一種編碼方式同眯。對應(yīng)2字節(jié)的unicode,utf8為1字節(jié)(英文)或3字節(jié)(中文)唯鸭。實際情況比這復(fù)雜须蜗,這里只說明常用情況。
GBK目溉、GB2312明肮、GB18030都是簡體中文的編碼。GB2312是GBK的子集缭付,GBK是GB18030的子集柿估。
BIG5是臺灣使用的繁體中文編碼。
如果網(wǎng)頁編碼是UTF-8的陷猫,可以簡單的這么轉(zhuǎn)換為字符串:
NSString *pageStirng = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
如果網(wǎng)頁是gbk或者gb2312秫舌,用UTF-8轉(zhuǎn)換的話,pageSource返回nil,這時需要使用gbk編碼做轉(zhuǎn)換.
NSStringEncoding *gbkEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSString *pageStirng = [[NSString alloc] initWithData:data encoding:gbkEncoding];