ios字符串编码转换(utf-8 & gbk)[转贴]
2011-05-26 13:39
441 查看
我们知道,使用NSURLConnection的代理方法下载网页,存到一个NSData中,
如果网页编码是UTF-8的,可以这么转换为字符串:
如果网页是gbk(或者gb2312),用UTF8转换的话,pageSource返回nil。这时需要使用gbk编码做转换,但是NSStringEncoding不含gbk,怎么办?用另一个方法处理一下:
NSMutableData *pageData;
[pageData appendData:data];
如果网页编码是UTF-8的,可以这么转换为字符串:
NSString *pageSource = [[NSString alloc] initWithData:pageData encoding:NSUTF8StringEncoding];
如果网页是gbk(或者gb2312),用UTF8转换的话,pageSource返回nil。这时需要使用gbk编码做转换,但是NSStringEncoding不含gbk,怎么办?用另一个方法处理一下:
NSStringEncoding gbkEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSString *pageSource = [[NSString alloc] initWithData:pageData encoding:gbkEncoding];
为什么可以这么处理?在NSString.h(按住command,双击NSStringEncoding即能查看),对NSStringEncoding的定义中,注释这么写着:
Note that in addition to the values explicitly listed below, NSStringEncoding supports encodings provided by CFString.
See CFStringEncodingExt.h for a list of these encodings.
See CFString.h for functions which convert between NSStringEncoding and CFStringEncoding.
相关文章推荐
- ios字符串编码转换(utf-8 & gbk)问题[参考]
- 【转】ios字符串编码转换(utf-8 & gbk)问题
- C/C++,字符串的UTF-8与GBK(或GB2312)编码转换
- iOS字符串GBK编码转UTF-8
- C/C++ 字符串的UTF-8与GBK(或GB2312)编码转换
- C/C++,字符串的UTF-8与GBK(或GB2312)编码转换
- iOS之字符串编码GBK转UTF-8
- ios 字符串编码转换(utf-8 & gbk)问题
- Linux下GBK->UTF-8文件编码转换,文件后缀名修改
- iOS 字符串长度计算boundingRectWithSize遇到 " \r\n"的时候,后面的字符串长度返回0 在swift中使用pod导入第三方库时,注意事项
- IOS 获取外网IP 及 GBK 转码 (UTF-8)
- IntelliJ IDEA 编译时报错:“编码GBK的不可映射字符”,"未结束的字符串字面值"和非法的类型开始
- ios开发中object-c中UTF-8 和 GBK 的 NSString 相互转化的方法
- Android ndk中字符串转utf-8和gbk
- PHP 正则判断中文 UTF-8 & GBK
- iOS判断字符串中含某一个字符if ([keyName rangeOfString:@"_"].location==NSNotFound) return keyName;
- 获取字符串汉字首字母,兼容GBK和UTF-8
- PHP删除字符串中的中文的正则表达式兼容gbk/gb2312/utf-8
- UTF-8 和 GB2312 编码转换 & 在IE中使用常用Web调试工具 Firebug
- new String("".getBytes("gbk"),"utf-8")与URLEncoder和URLDecoder比较