Objective C NSString 编码成URL 特殊字符处理

找了一下网上的教程都是使用类似以下代码,Xcode提示这个CoreFoundation不受ARC管理,所以折中的方式是添加__bridge.

NSString *encodedValue = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(nil,

(CFStringRef)unencodedString, nil,

(CFStringRef)@"!*‘();:@&=+$,/?%#[]", kCFStringEncodingUTF8);

但是其实有很好的一个解决方案

NSString *encodedValue=[unencodedString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet alphanumericCharacterSet]];

使用NSString内置的API即可。

时间: 2024-10-09 23:52:26

Objective C NSString 编码成URL 特殊字符处理的相关文章

html、javascript、url特殊字符的转义诠释及使用方法详解

html.javascript.url特殊字符转义在实际编程中都是有用到的,有的人对特殊字符转义的使用不是很清楚,下面就对html,javascript,url特殊字符的转义做一下说明和归纳. html特殊字符转义 html特殊字符转义的格式规定: & + 实体(Entity)或#加上实体(Entity) + “;” 例如:& 转义后变成了 & amp; 还 记得刚学习html那会,做网页布局,需要用到很多空格,于是就不停地按空格来影响布局,可是看到效果却一点没有变化.原因是htm

JS 和 Java 中URL特殊字符编码方式

前几天遇到url特殊字符编码的问题,在这里整理一下: JavaScript 1.  编码 escape(String) 其中某些字符被替换成了十六进制的转义序列. 解码 unescape(String) 该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码. *注释:ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decode

URL特殊字符

URL特殊字符需转义 1.空格换成加号(+) 2.正斜杠(/)分隔目录和子目录 3.问号(?)分隔URL和查询 4.百分号(%)制定特殊字符 5.#号指定书签 6.&号分隔参数 转义字符的原因: 如果你的表单使用get方法提交,并且提交的参数中有“&”等特殊符的话,如果不做处理,在service端就会将&后面的作为另外一个参数来看待.例如 表单的action为list.jsf?act=go&state=5 则提交时通过request.getParameter可以分别取得ac

Objective-C中把数组中字典中的数据转换成URL

可能上面的标题有些拗口,学过PHP的小伙伴们都知道,PHP中的数组的下标是允许我们自定义的,PHP中的数组确切的说就是键值对.而在OC我们要用字典(Dictionary)来存储,当然了Java用的是Map来存储键值对.下面我们将实现一个极为实用的小例子,网络请求有get和post方法,两种方法各有其优点.在表单提交时Post方法用的更多一些,URL传值则会用到Get方法.在用PHP编程的时候肯定会经常拼接url来传参或者请求,在IOS开发中会向服务器通过url请求一些数据,所以对url的拼接是少

OC中如何把数组中字典的数据转换成URL?

在使用objective-c语言开发iOS应用中,会向服务器通过URL请求一些数据,因此对URL的拼接肯定少不了.而在iOS中,我们一般是通过将字典中的数据拼接成我们要请求的URL字符串,那这个是怎么实现的呢?今天小编就将为大家分享一篇在网上看到的一位大神对Objective-C中把数组字典的数据转换成URL的剖析,一起来看看吧. 1.生成测试数据 字典中的键,我们一般是通过宏定义来初始化的,目的是便于维护,提高代码编写效率,下面是对key的宏定义: //定义字典键 #define A @"a&

关于URL编码(针对URL含有中文的参数)

http://www.ruanyifeng.com/blog/2010/02/url_encoding.html 一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址"http://www.abc.com",但是没有希腊字母的网址"http://www.aβγ.com"(读作阿尔法-贝塔-伽玛.com).这是因为网络标准RFC 1738做了硬性规定:

iOS平台上音频编码成aac

小程之前介绍解码aac时,曾经使用了fadd,并且有提到,如果想编码成aac格式,可以使用facc.fdk-aac等,但使用fdk-aac等编码方式,都是软编码,在cpu的消耗上会明显大于硬件编码. 硬编码的优势是可以用硬件芯片集成的功能,高速且低功耗地完成编码任务. 在iOS平台,也提供了硬编码的能力,APP开发时只需要调用相应的SDK接口就可以了. 这个SDK接口就是AudioConverter. 本文介绍iOS平台上,如何调用AudioConverter来完成aac的硬编码. 从名字来看,

object-c NSString 转成特定编码格式如utf8、gbk等

有两种方式 第一种是先转换成特定编码格式NSDATA 第二种是先转换成特定编码格式char *(cString) 转成gbk: 第一种: - (NSString *) utf82gbk:(NSString *)string {    NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);    NSData *data = [string dataUsing

将文件编码成base64通过AJAX上传

使用AJAX是无法直接上传文件的,一般都是新建个iframe在它里面完成表单提交的过程以达到异步上传文件的效果. 如此做可以达到比较好的浏览器兼容性,不过代码量会比较大,即使是使用了文件上传插件,例如plupload. 如何能达到灵活的程度呢,能像普通的AJAX提交表单数据那样将文件看成是普通表单参数来对待就好了. 灵光一闪,利用javascript的FileReader对象将文件编码成base64再传服务器不就行了么~ 开始动手,丰衣足食. 前端对文件进行base64编码并通过ajax向服务器