ios9 字符串与UTF-8 互相转换

本文介绍在iOS9中如何正确地将字符串转换为UTF-8编码,以适应新的API变化。文中提供了废弃方法的替代方案,并给出了具体的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在数据网路请求或其他情况下,需要将字符串转换成UTF-8编码  ios9后对其方法进行了修改

NSString *str = @"北京";

把这个转成UTF8以前我们使用的是

NSString *str3 = [str stringByAddingPercentEscapesUsingEncoding:

NSUTF8StringEncoding];

但是在ios9这个方法废弃了

用如下方法转

NSString *str1 = [str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

那如果想转成“北京”这个字符串怎么办呢 ,不用担心有方法的

还是说以前我们用的方法是

NSString *str3 = [str1stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

ios9同样废弃了这个方法 现在使用

NSString *str2 = [str1 stringByRemovingPercentEncoding];

 

iOS9现在使用的转码方法:

NSString *str = @"http://www.test.com/你好.jpg";

NSString *result = [str stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

其中stringByAddingPercentEncodingWithAllowedCharacters方法默认采用的就是UTF8编码,不需要另外的参数,只需要在最后添加上相应的NSCharacterSet即可。

 

转载于:https://www.cnblogs.com/Free-Thinker/p/11206925.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值