objective-c 将中文(GBK)转化为UTF-8数据的方法

(转载注明出处:http://www.cnblogs.com/binxindoudou/archive/2013/03/24/2979340.html:)

最近在ios平台做一个利用新浪微博API获取数据的程序,在组成链接字符串获取json数据的时候,出现了问题:如果参数时英文和数字,那么可以获取到,如果是中文数据就死掉了

如下:

https://api.weibo.com/2/friendships/friends.json?access_token=2.00DPjheC0fBfSX74fc935b2dEVAjwC&screen_name=彬心典登  不能获取到数据

https://api.weibo.com/2/friendships/friends.json?access_token=2.00DPjheC0fBfSX74fc935b2dEVAjwC&screen_name=CCTV5 可以获取到数据

后来经过调试发现,是字符编码的问题。在程序中,必须将汉字转化为utf-8格式,才可进行连接访问

那么objective-c 如何将中文(GBK)转化为UTF-8呢?我从网上看到了不少是将UTF-8转化为中文的,而我需要的却没有

所以我只好自己查资料写了一个函数,效果还不错,代码贴出:

- (NSString *)GBKToUtf8Encoding:(NSString *)aString

{

    NSMutableString *GBKString = [NSMutableStringstringWithFormat:@""];

    for (int i = 0 ; i < [aString length] ; i++) 

    {

   //获取到字符的索引

        NSUInteger index = i;

   //获取该字符转化为字符串,然后才可以调用编码方法(编码方法是针对字符串的)

        NSString *strTmp = [[NSStringstringWithFormat:@"%C",[aString characterAtIndex:index]] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

   //拼接字符串

        [GBKString appendString:strTmp];

    }

    return GBKString;

}

第一次写博客,希望大家多多指教:)

(转载注明出处:http://www.cnblogs.com/binxindoudou/archive/2013/03/24/2979340.html:) 

 

 

转载于:https://www.cnblogs.com/binxindoudou/archive/2013/03/24/2979340.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值