IOS中对Url进行编码和解码示例
本文主要介绍IOS中对Url进行编码和解码示例,具体如下:
1.非ARC模式下
+ (NSString *)encodeToPercentEscapeString: (NSString *) input { // Encode all the reserved characters, per RFC 3986 // () NSString *outputStr = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)input,NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8); return outputStr; } + (NSString *)decodeFromPercentEscapeString: (NSString *) input { NSMutableString *outputStr = [NSMutableString stringWithString:input]; [outputStr replaceOccurrencesOfString:@"+" withString:@" " options:NSLiteralSearch range:NSMakeRange(0, [outputStr length])]; return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
2. ARC模式下
- (NSString *)encodeToPercentEscapeString: (NSString *) input{ NSString* outputStr = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes( NULL, /* allocator */ (__bridge CFStringRef)input, NULL, /* charactersToLeaveUnescaped */ (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8); return outputStr;}- (NSString *)decodeFromPercentEscapeString: (NSString *) input {NSMutableString *outputStr = [NSMutableString stringWithString:input];[outputStr replaceOccurrencesOfString:@"+"withString:@" "options:NSLiteralSearchrange:NSMakeRange(0, [outputStr length])];return [outputStr stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
JS对URL字符串进行编码/解码分析
虽然escape().encodeURI().encodeURIComponent()三种方法都能对一些影响URL完整性的特殊 字符进行过滤.但后两者是将字符串转换为UTF-8的方式来传输,解决了页面编码不一至导致的乱码问 题.例如:发送页与接受页的编码格式(Charset)不一致(假设发送页面是GB2312而接收页面编码是 UTF-8),使用escape()转换传输中文字串就会出现乱码问题. 以下是JS下对URL进行编/解码的各种方法: escape 方法:返回一个可在所有计算机上读取的编码
-
php URL编码解码函数代码
复制代码 代码如下: <?php $url = "http://www.jb51.net"; echo urlencode($url); //输出编码后的字符串 ?> 复制代码 代码如下: <?php $url = "http://www.jb51.net"; $newurl = urlencode($url); //首先对$url进行编码 echo urldecode($newurl); //输出解码后的字符串 ?>
-
C++类URL编码和解码使用技巧
在项目开发过程中,经常会使用到c++ 的url编码和解码,本文将以此问题详细介绍使用技巧,需要的朋友可以参考下 复制代码 代码如下: #pragma once #include <iostream> #include <string> #include <windows.h> using namespace std; class strCoding { public: strCoding(void); ~strCoding(void); void UTF_8ToGB23
-
PHP安全的URL字符串base64编码和解码
如果直接使用base64_encode和base64_decode方法的话,生成的字符串可能不适用URL地址.下面的方法可以解决该问题: URL安全的字符串编码: 复制代码 代码如下: function urlsafe_b64encode($string) { $data = base64_encode($string); $data = str_replace(array('+','/','='),array('-','_',''),$data); return $data;
-
javascript URL编码和解码使用说明
在有些传递页面使用GB2312,而在接收页面使用 UTF8,这样接收到的参数就可能会与原来发生不一致.使用服务器端的urlEncode函数编码的URL,与使用客户端javascript的 encodeURI函数编码的URL,结果就不一样. javaScript中的编码方法: escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码.所有的空格符.标点符号.特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码 (xx等于该字符在字符集表里面的编码的16进制数字).比
-
asp.net URL编码与解码
例如Url参数字符串中使用key=value键值对这样的形式来传参,键值对之间以&符号分隔,如/s?q=abc&ie=utf-8.如果你的value字符串中包含了=或者&,那么势必会造成接收Url的服务器解析错误,因此必须将引起歧义的&和=符号进行转义,也就是对其进行编码. 又如,Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非ASCII字符,例如中文.否则如果客户端浏览器和服务端浏览器支持的字符集不同的情况下,中文可能会造成
-
百度移动版的url编码解码示例
复制代码 代码如下: var decode = function(m) { try { m = decodeURIComponent(m); } catch(e) {} var s = m.split("%"); if (s.length > 1) { s.shift(); for(var i = 0; i < s.length; i++) { var t = s[i]; t = parseInt(t, 16); t = t + 256; t = t - 201; t =
-
JavaScript Base64编码和解码,实现URL参数传递。
为什么需要对参数进行编码?相信有过开发的经验的广大程序员都知道,在Web中,若是直接在Url地址上传递参数值,若是中文,或者+等什么的就会出现乱码现象,若是数字或者英文的好象没有什么问题,简言之,传递过来的参数是需要进行编码的.在这里,也许有人会说,为什么不直接用Server.UrlDecode和Server.UrlEncode这两个来进行编码和解码的操作呢? 的确,这两个服务器端对象很好使用,用起来也很方便,但是,若在客户端是HTML的Input,查询的时候页面是HTML或者其他的,反正不是.
-
IOS中对Url进行编码和解码示例
本文主要介绍IOS中对Url进行编码和解码示例,具体如下: 1.非ARC模式下 + (NSString *)encodeToPercentEscapeString: (NSString *) input { // Encode all the reserved characters, per RFC 3986 // () NSString *outputStr = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAlloc
-
java中使用url进行编码和解码
目录 使用url进行编码和解码 编码和解码的类 Java正确URL解码方式:URLDecoder.decode 解决办法 使用url进行编码和解码 编码和解码的类 java.net.URLDecoder.decode(url,解码格式) 解码器.解码方法. 转化成普通字符串,URLEncoder.decode(url,编码格式) 将普通字符串变成指定格式的字符串 package com.zixue.springbootmybatis.test; import java.io.Unsupporte
-
对python中url参数编码与解码的实例详解
一.简介 在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码. 二.关键代码 1.url编码 对字符串编码用urllib.parse包下的quote(string, safe='/', encoding=None, errors=None)方法. 对json格式的参数名和值编码,用urllib.parse包下的 urlencode(query, doseq=False, safe='', encoding=None, errors=None, quote_via=qu
-
详谈js对url进行编码和解码(三种方式的区别)
Javascript语言用于编码的函数,一共有三个,最古老的一个就是escape().虽然这个函数现在已经不提倡使用了,但是由于历史原因,很多地方还在使用它,所以有必要先从它讲起. escape 和 unescape 实际上,escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值.比如"春节"的返回结果是%u6625%u8282,也就是说在Unicode字符集中,"春"是第6625个(十六进制)字符,"节"是第8
-
在iOS中给视频添加滤镜的方法示例
「众所周知,视频可以 P」,今天我们来学习怎么给视频添加滤镜. 在 iOS 中,对视频进行图像处理一般有两种方式: GPUImage 和 AVFoundation . 一.GPUImage 在之前的文章中,我们对 GPUImage 已经有了一定的了解.之前一般使用它对摄像头采集的图像数据进行处理,然而,它对本地视频的处理也一样方便. 直接看代码: // movie NSString *path = [[NSBundle mainBundle] pathForResource:@"sample&q
-
iOS中Navbar设置渐变色效果的方法示例
本文主要给大家介绍了关于iOS中Navbar设置渐变色效果的相关内容,分享出来供大家参考学习,下面来看看详细的介绍吧. 设置渐变色 #import "NavigationViewController.h" #define LBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0] @interface NavigationViewController () @end
-
iOS中各种UI控件属性设置示例代码
//视图已经加载完了,可以进行ui的添加了 - (void)viewDidLoad { [superviewDidLoad]; // Do any additional setup after loading the view. //初始化UILabel注意指定该对象的位置及大小 UILabel *lb = [[UILabelalloc]initWithFrame:CGRectMake(0,20,300,200)]; //设置文字 lb.text =@"label测试我在学习中学些ui stor
-
iOS中使用URL Scheme进行App跳转的教程
URL Scheme的作用 我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的.但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便app之间互相调用而设计的.我们可以通过系统的OpenURL来打开该app,并可以传递一些参数. 例如:你在Safari里输入www.alipay.com,就可以直接打开你的支付宝app,前提是你的手机装了支付宝.如果你没有装支付宝,应该显示的是支付宝下载界面,点击会跳到AppStore的支付宝下载
-
iOS中设置圆角的几种方法示例
前言 圆角(RounderCorner)是一种很常见的视图效果,相比于直角,它更加柔和优美,易于接受.但很多人并不清楚如何设置圆角的正确方式和原理.设置圆角会带来一定的性能损耗,如何提高性能是另一个需要重点讨论的话题.我查阅了一些现有的资料,收获良多的同时也发现了一些误导人错误. 1. 使用layer属性 layer.backgroundColor = [UIColor cyanColor].CGColor; // 给图层添加背景色 layer.contents = (id)[UIImage i
-
iOS中精确计算WebView高度的方法示例
前言 在开发app的过程中难免会遇到将webView加载到tableView的cell上的需求,一般遇到这种问题,通常想到的思路就是在webView的回调方法webViewDidFinishLoad中获取到webView的高度,刷新tableView,将高度赋值给tableView的回调方法heightForRow.看似没有任何问题,但是在实际操作的时候却发现得到的高度并不是webView的实际高度,显然这种方法是行不通的.其实并不是方法不行,而是webViewDidFinishLoad代理方法
随机推荐
- JS组件Bootstrap Select2使用方法解析
- jQuery实现鼠标悬停3d菜单展开动画效果
- Python标准库之Sys模块使用详解
- JS 动态加载脚本的4种方法
- JS组件Bootstrap ContextMenu右键菜单使用方法
- JavaScript验证电子邮箱的函数
- Docker镜像制作详解介绍
- sqlserver 存储过程动态参数调用实现代码
- jquery 表格分页等操作实现代码(pagedown,pageup)
- Javascript实现数组中的元素上下移动
- javascript正则表达式中参数g(全局)的作用
- java多线程实现文件下载功能
- Android使用RecyclerView实现自定义列表、点击事件以及下拉刷新
- c#检测端口是否被占用的简单实例
- Android实现常见的验证码输入框实例代码
- ASP.NET oledb连接Access数据库的方法
- Android 弹出软键盘所遇到的坑及解决方法
- 详解js的视频和音频采集
- django重新生成数据库中的某张表方法
- javascript 关于赋值、浅拷贝、深拷贝的个人理解