IOS URL中文亂碼

2021-07-06 10:38:39 字數 1389 閱讀 2969

發現nsstring類中有內建的方法可以實現。他們分別是:

- (nsstring *)stringbyaddingpercentescapesusingencoding:(nsstringencoding)encoding

- (nsstring *)stringbyreplacingpercentescapesusingencoding:(nsstringencoding)encoding

只要傳入相應的編碼即可以進行編碼和解碼了,不過此方法是對整個url進行編碼的所以如果有query string中帶有&?/等是不會進行編碼轉換的,如果有這方面的需要的朋友可以參照下面提供的**,找到解決方法:

示例:[cpp]view plain

copy

nsstring* string1 = @

"資料夾"

;  nsstring* string2 = [string1 stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];  

nsstring* string3 = [string2 stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];  

nsstring* string4 = [string2 stringbyreplacingpercentescapesusingencoding:nsutf8stringencoding];  

nsstring* string5 = [string3 stringbyreplacingpercentescapesusingencoding:nsutf8stringencoding];  

nsstring* string6 = [string4 stringbyreplacingpercentescapesusingencoding:nsutf8stringencoding];  

nsstring* string7 = [string5 stringbyreplacingpercentescapesusingencoding:nsutf8stringencoding];  

輸出結果: string5 & 6 重複編碼encode  

string1:資料夾

string2:%e6%96%87%e4%bb%b6%e5%a4%b9

string3:%25e6%2596%2587%25e4%25bb%25b6%25e5%25a4%25b9

string4:資料夾

string5:%e6%96%87%e4%bb%b6%e5%a4%b9

string6:資料夾

string7:資料夾

參考:iphone 中文url編碼(encode)解碼(decode)

iphone中的url編碼與解碼

ios url中帶中文的解決方案

有兩種方法 一,使用nsstring的方法 nsstring string2 string1 stringbyaddingpercentescapesusingencoding nsutf8stringencoding nsstring string1 string2 stringbyreplaci...

iOS url 編碼解碼

1.url編碼 ios中http請求遇到漢字的時候,需要轉化成utf 8,用到的方法是 nsstring encodingstring urlstring stringbyaddingpercentescapesusingencoding nsutf8stringencoding 2.url解碼 請...

qt 中文亂碼 Qt中文亂碼問題

接觸了qt,由於習慣中vs,如果使用vs寫qt 剛接觸很快就發現有中文亂碼問題,我的解決方法如下 新建乙個標頭檔案,比如qtchcharset.h,標頭檔案中內容如下 pragma once ifdef q os win q os win 新增後支援gb2312,utf 8 bom,unicode ...