介绍一下IOS开发经常接触的两种编码类型——UTF-8,GB_18030_2000
UTF-8简介
UTF-8国际通用的编码标准,通用性强,支持大部分汉字,但对于汉字的编码采用3字节的方式,编码方式不如GB_18030_2000简洁。对于向服务器请求信息的编码格式,为了保证其通用性一般使用UTF-8.
GB_18030_2000简介
GB_18030_2000是GBK的取代版本,它的主要特点是在GBK基础上增加了CJK统一汉字扩充A的汉字(GB_18030_2000和GBK都是汉字编码的重要标准),通用性较强,支持的汉字多于UTF-8,但对于英文采用2字节编码,比较占用空间。由于是国标编码标准,国外的一些网站基本上不支持。对于服务器返回信息(一般为UTF-8编码),为了保证其汉字显示的完整性,尽量转为GB_18030_2000再显示出来。
服务器返回结果的互相转换(GB_18030_2000)
获取到GB_18030_2000在Encoding中的枚举值,
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding
(kCFStringEncodingGB_18030_2000);
NSString *responseString=[[NSString alloc] initWithData:yourData
encoding:enc];
服务器返回结果的互相转换(UTF-8)
NSString *utf8Str = [[NSString alloc] initWithData:response
encoding:NSUTF8StringEncoding];
NSData *oData=[utf8Str dataUsingEncoding:NSUTF8StringEncoding];