NSString 转 UTF-8 的符号匹配问题

encode

NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)self,NULL,CFSTR("!*‘();:@&=+$,/?%#[]"),kCFStringEncodingUTF8);

decode

NSString *result = (NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault,(CFStringRef)self, CFSTR(""),kCFStringEncodingUTF8);CFSTR(""),kCFStringEncodingUTF8); 

关键地方 是这个匹配的符号的转换

CFSTR("!*‘();:@&=+$,/?%#[]")
时间: 2024-07-29 02:39:09

NSString 转 UTF-8 的符号匹配问题的相关文章

栈的应用---编译器的符号匹配

算法 1   从第一个字符开始扫描 2   当遇见普通字符时候忽略,遇见做字符压入栈. 3    当遇见右符号时候从栈中弹出栈顶符号 匹配成功,继续读入下一字符 匹配失败,立即停止并报错 成功:所有字符扫描完毕,且栈为空 失败:匹配失败或者所有字符扫描完毕但栈不是空的. 伪代码: int scanner(const char* code) { 创建栈: int i = 0; while( code[i] != '\0' ) { if( 左符号) { 进栈: } if( 右符号 ) { 将右符号读

栈的实现,进制数转换以及符号匹配

//seqstack.h #ifndef _SEQSTACK_H #define _SEQSTACK_H #define STACK_SIZE 20 typedef int ElemType; //若要使用功能5 请将int 改为char #include<iostream> #include<assert.h> using namespace std; typedef struct Stack { ElemType *base; int capacity; int top; }S

stackApp符号匹配

public class SymbolMatch { public static boolean isMatch(String s){ //[{()}] ArrayStack<Character> arrayStack = new ArrayStack<Character>(); for(int i=0;i<s.length();i++){ char c = s.charAt(i); if(c=='[' || c=='{' || c=='('){ arrayStack.pus

UITextField-邮箱后缀联想匹配

最近做项目,有一个功能,百度了一下 结果没有 就研究了一下. 当用户输入邮箱形式的账号时,输入完"@"符号后,联想出常用的邮箱 点击某一行,将改行代表邮箱自动输入到账号输入框内 如果控件属性不懂或者不认识 ,请百度! 说一下原理,首先我们要判断输入的是否是"@",之后在在进行范围截取,最后匹配 - (BOOL)hasPrefix:(NSString *)aString //系统 已经提供了匹配方法,用不着正则!    直接上代码! #import "Us

ios开发之--NSString的操作

1.截取字符串 NSString*string =@"sdfsfsfsAdfsdf"; string = [string substringToIndex:7];//截取掉下标7之后的字符串 NSLog(@"截取的值为:%@",string); [string substringFromIndex:2];//截取掉下标2之前的字符串 NSLog(@"截取的值为:%@",string); 2.匹配字符串 NSString*string =@&quo

Windbg符号与源码 《第二篇》

符号文件是一种辅助数据,它包含了对应用程序代码的一些标注信息,这些信息在调试过程中非常有用.如果没有辅助数据,那么能获得的信息就只有应用程序的二进制文件.二进制文件很难调试,因为无法看到代码中的函数名.数据结构名等.这正是符号文件能显示的.符号文件的扩展名通常是pdb,调试器能够很好地解析这种文件格式. 编译器和链接器在创建二进制镜像文件(诸如exe.dll.sys)时,伴生的后缀名为.dbg..sym或.pdb的包含镜像文件编译.链接过程中生成的符号信息的文件称为符号文件.具体来说,符号信息包

正则表达式匹配包括换行符的所有字符

今天在Java中想使用正则表达式来获取一段文本中的任意字符. (.*) 结果运行之后才发现,无法获得换行之后的文本.于是查了一下手册,才发现正则表达式中,"."(点符号)匹配的是除了换行符"\n"以外的所有字符. 查出了一个解决办法,经过一试,果然可以匹配包括换行符在内的任意字符,以下为正确的正则表达式匹配规则: ([\s\S]*)正则表达式匹配包括换行符的所有字符,布布扣,bubuko.com

正则表达式的符号基本使用说明

***基本正则表达式(可支持grep,sed,awk等shell工具) * 0个或多个在*字符前面的那个普通字符. 匹配任意字符^ 匹配行首,或后面字符是非$ 匹配行尾 []匹配字符集合\ 转义符,屏蔽一个元字符的特殊意义\<\>  精确匹配符号\{n\} 匹配前面字符出现n次\{n,\} 匹配前面字符至少出现n次\{n,m\} 匹配前面字符出现n~m次 注意:符号*前面必须至少有两个字符(当符号*后面没有字符时)或必须*前面至少有一个字符(当符号*后面至少有一个字符时)才有意义      符

通过完善邮箱匹配来一步步学习正则表达

首先,在学习之前先确定一下邮箱的格式,邮箱的一般格式为[email protected],其中xxx可为数字.字母.下划线_,中划线-,点号.,加号+等组成. 在看具体代码之前需要先了解一些基础知识 # []表示匹配字符集中的任意一个字符# \w 表示匹配任何字母数字字符# \s表示任何空格字符# \d表示任何十进制数字# +表示匹配1次或多次前面出现的正则表达# *表示匹配0次或多次前面出现的正则表达# (?:)表示一个匹配不用保存的分组 1.匹配最简单的邮箱格式,如[email protec