国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

iOS URLencode和decode注意

2019-11-09 18:45:10
字體:
來源:轉載
供稿:網(wǎng)友
(1) 因為url支持26個英文字母、數(shù)字和少數(shù)幾個特殊字符,因此,對于url中包含非標準url的字符時(比如有漢字時),就需要對其進行編碼。iOS中提供了函數(shù)stringByAddingPercentEscapesUsingEncoding對中文和一些特殊字符進行編碼,但是stringByAddingPercentEscapesUsingEncoding的功能并不完善,對一些較為特殊的字符無效。而對這些字符則可以使用CFURLCreateStringByteAddingPercentEscapes函數(shù),

1 NSString *str = [NSString stringWithUTF8String:surl.c_str()]; 2 str = @”http://218.21.213.10/MobileOA/TIFF/鄂安辦發(fā)45號關于下達2012年全市安全生產(chǎn)相對控制指標的通知1.jpg”;3 str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

(2) stringByAddingPercentEscapesUsingEncoding用與將Unicode字符轉換成有百分號的形式。 stringByReplacingPercentEscapesUsingEncoding:將百分號形式轉換成Unicode形式 例子: NSString *rawText = @”O(jiān)ne Broadway, Cambridge, MA”; NSString *encodedText = [rawText stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];NSLog(@”Encoded text: %@”, encodedText); NSString *decodedText = [encodedText stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];NSLog(@”O(jiān)riginal text: %@”, decodedText); 輸出: Encoded text: One%20Broadway,%20Cambridge,%20MA

Original text: One Broadway, Cambridge, MA ********************************************* stringByAddingPercentEscapesUsingEncoding對中文和一些特殊字符進行編碼,但是stringByAddingPercentEscapesUsingEncoding的功能并不完善,對一些像& /等特殊的字符無效。而對這些字符則可以使用CFURLCreateStringByteAddingPercentEscapes函數(shù),例子: // Encode a string to embed in an URL. NSString* encodeToPercentEscapeString(NSString *string) { return (NSString *) CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef) string, NULL, (CFStringRef) @”!*’();:@&=+$,/?%#[]”, kCFStringEncodingUTF8); }

// Decode a percent escape encoded string. NSString* decodeFromPercentEscapeString(NSString *string) { return (NSString *) CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL, (CFStringRef) string, CFSTR(“”), kCFStringEncodingUTF8); }

int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

NSString *rawText = @”Bed Bath & Beyond - URL=http://www.bedbathandbeyond.com/“;

NSString *encodedText = encodeToPercentEscapeString(rawText); NSLog(@”Encoded text: %@”, encodedText); NSString *decodedText = decodeFromPercentEscapeString(encodedText); NSLog(@”O(jiān)riginal text: %@”, decodedText);

[pool drain]; return 0; }


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 洛隆县| 台北市| 密山市| 张掖市| 鲁山县| 澄迈县| 五台县| 尚义县| 永新县| 合肥市| 长白| 凤阳县| 定结县| 台东市| 隆尧县| 威宁| 常山县| 泽州县| 屏边| 淳安县| 盘锦市| 馆陶县| 钟祥市| 宣武区| 永嘉县| 田东县| 焉耆| 儋州市| 宜川县| 玉龙| 清镇市| 镇康县| 山西省| 德惠市| 丰原市| 应城市| 年辖:市辖区| 绵阳市| 江阴市| 汨罗市| 石屏县|