【iOS开发系列】escape编码
2016-03-07 23:27
465 查看
+(NSString *)escape:(NSString *)str { NSArray *hex = [NSArray arrayWithObjects: @"00",@"01",@"02",@"03",@"04",@"05",@"06",@"07",@"08",@"09",@"0A",@"0B",@"0C",@"0D",@"0E",@"0F", @"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18",@"19",@"1A",@"1B",@"1C",@"1D",@"1E",@"1F", @"20",@"21",@"22",@"23",@"24",@"25",@"26",@"27",@"28",@"29",@"2A",@"2B",@"2C",@"2D",@"2E",@"2F", @"30",@"31",@"32",@"33",@"34",@"35",@"36",@"37",@"38",@"39",@"3A",@"3B",@"3C",@"3D",@"3E",@"3F", @"40",@"41",@"42",@"43",@"44",@"45",@"46",@"47",@"48",@"49",@"4A",@"4B",@"4C",@"4D",@"4E",@"4F", @"50",@"51",@"52",@"53",@"54",@"55",@"56",@"57",@"58",@"59",@"5A",@"5B",@"5C",@"5D",@"5E",@"5F", @"60",@"61",@"62",@"63",@"64",@"65",@"66",@"67",@"68",@"69",@"6A",@"6B",@"6C",@"6D",@"6E",@"6F", @"70",@"71",@"72",@"73",@"74",@"75",@"76",@"77",@"78",@"79",@"7A",@"7B",@"7C",@"7D",@"7E",@"7F", @"80",@"81",@"82",@"83",@"84",@"85",@"86",@"87",@"88",@"89",@"8A",@"8B",@"8C",@"8D",@"8E",@"8F", @"90",@"91",@"92",@"93",@"94",@"95",@"96",@"97",@"98",@"99",@"9A",@"9B",@"9C",@"9D",@"9E",@"9F", @"A0",@"A1",@"A2",@"A3",@"A4",@"A5",@"A6",@"A7",@"A8",@"A9",@"AA",@"AB",@"AC",@"AD",@"AE",@"AF", @"B0",@"B1",@"B2",@"B3",@"B4",@"B5",@"B6",@"B7",@"B8",@"B9",@"BA",@"BB",@"BC",@"BD",@"BE",@"BF", @"C0",@"C1",@"C2",@"C3",@"C4",@"C5",@"C6",@"C7",@"C8",@"C9",@"CA",@"CB",@"CC",@"CD",@"CE",@"CF", @"D0",@"D1",@"D2",@"D3",@"D4",@"D5",@"D6",@"D7",@"D8",@"D9",@"DA",@"DB",@"DC",@"DD",@"DE",@"DF", @"E0",@"E1",@"E2",@"E3",@"E4",@"E5",@"E6",@"E7",@"E8",@"E9",@"EA",@"EB",@"EC",@"ED",@"EE",@"EF", @"F0",@"F1",@"F2",@"F3",@"F4",@"F5",@"F6",@"F7",@"F8",@"F9",@"FA",@"FB",@"FC",@"FD",@"FE",@"FF", nil]; NSMutableString *result = [NSMutableString stringWithString:@""]; int strLength = str.length; for (int i=0; i<strLength; i++) { int ch = [str characterAtIndex:i]; if (ch == ' ') { [result appendFormat:@"%C",'+']; } else if ('A' <= ch && ch <= 'Z') { [result appendFormat:@"%C",(char)ch]; } else if ('a' <= ch && ch <= 'z') { [result appendFormat:@"%C",(char)ch]; } else if ('0' <= ch && ch<='9') { [result appendFormat:@"%C",(char)ch]; } else if (ch == '-' || ch == '_' || ch == '.' || ch == '!' || ch == '~' || ch == '*' || ch == '\'' || ch == '(' || ch == ')') { [result appendFormat:@"%C",(char)ch]; } else if (ch <= 0x007F) { [result appendFormat:@"%%",'%']; [result appendString:[hex objectAtIndex:ch]]; } else { [result appendFormat:@"%%",'%']; [result appendFormat:@"%C",'u']; [result appendString:[hex objectAtIndex:ch>>8]]; [result appendString:[hex objectAtIndex:0x00FF & ch]]; } } return result; }
相关文章推荐
- iOS屏幕旋转
- iOS----------SDWebimage源码解析(2)
- iOS多线程之NSThread
- iOS百度地图的相关开发(一)
- 开源代码分析之Android/iOS Hybrid JSBridge框架
- iOS多线程之pthread
- IOS学习 scrollView的单张图片缩放
- sso package or sign error 新浪微博iOS三方登录问题
- iOS开发中登陆页面的制作
- IOS开发之支付功能概述
- iOS开发者的Xcode使用技巧(快捷键)
- iOS个人整理22-可视化编辑-XIB
- 初识iOS的Block函数
- ios的一些经验记录2
- IOS学习 scrollView,pageControl,tableView在同一页面上处理
- iOS之CoreData学习(一)
- iOS断言
- iOS 3D Touch使用<二、 Peek、Pop使用>
- ios的一些经验记录1
- 常用的工具类