Cocoa iOS中的url編碼問題

2022-05-08 08:21:07 字數 1371 閱讀 4663

ios中的url編碼問題

羅朝輝 (

本文遵循「署名-非商業用途-保持一致」創作公用協議

nsstring 的 stringbyaddingpercentescapesusingencoding 可以對 url 引數進行編碼,但是有點小問題,不會對所有需要編碼的字元都編碼。我們可以通過  cfstringref 的 

cfurlcreatestringbyaddingpercentescapes 函式來封裝這個功能。**如下:

- (nsstring *)encodetopercentescapestring: (nsstring *) input

- (nsstring *)decodefrompercentescapestring: (nsstring *) input

測試**:

nsstring * testurl      = @"

it's )00!*'();:@&=+$,/?%#

";nslog(@"

original: %@

", testurl);

nsstring * encodestr = [self encodetopercentescapestring:testurl];

nslog(@"

encoded: %@

", encodestr);

nsstring * encodestr2 = [testurl stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];

nslog(@"

encoded2:%@

", encodestr2);

nsstring * decodestr = [self decodefrompercentescapestring:encodestr];

nslog(@"

decoded: %@

", decodestr);

結果如下:

js中的url編碼

看下邊這個url串 1 back 在go頁面用c 的request.querystring肯定無法獲取正確的back引數.back的引數值會是 而js呼叫go頁面時就需要對back引數裡的url串進行url編碼才行.escape 方法 採用iso latin字符集對指定的字串停止編碼。所有的空格符 ...

URL中的編碼問題

文章 自 路徑編碼採用utf 8 查詢字串編碼和作業系統編碼一致 get和post方法用的是網頁的編碼 ajax呼叫的url包含漢字,ie採用gb2312 作業系統的預設編碼,gbk相容gb2312 firefox和google採用utf 8 對於以上統一處理的辦法就是在js中對url編碼,可以用e...

js中的url編碼

看下邊這個url串 1 back 在go頁面用c 的request.querystring肯定無法獲取正確的back引數.back的引數值會是 而js呼叫go頁面時就需要對back引數裡的url串進行url編碼才行.escape 方法 採用iso latin字符集對指定的字串停止編碼。所有的空格符 ...