zoukankan      html  css  js  c++  java
  • [转]字符串编码转换

    我们知道,使用NSURLConnection的代理方法下载网页,存到一个NSData中,

    1
    2
    NSMutableData *pageData;
    [pageData appendData:data];
    如果网页编码是UTF-8的,可以这么转换为字符串:

    1
    NSString *pageSource = [[NSString alloc] initWithData:pageData encoding:NSUTF8StringEncoding];
    如果网页是gbk(或者gb2312),用UTF8转换的话,pageSource返回nil。这时需要使用gbk编码做转换,但是NSStringEncoding不含gbk,怎么办?用另一个方法处理一下:

    1
    2
    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.
    ok。

    原文链接:http://zgia.net/?p=271

    On the road。。。
  • 相关阅读:
    核心编程(第七章)
    核心编程答案(第六章)
    spring aop配置切点执行了两次的原因
    spring AOP使用 xml配置
    有关于时间戳的pgsql操作
    sql 中 limit 与 limit,offset连用
    学习大数据笔记day1
    Java实现各种排序
    关于java洗牌发牌小程序
    flex.css
  • 原文地址:https://www.cnblogs.com/ianhao/p/4550742.html
Copyright © 2011-2022 走看看