Objective-C——中文URL編碼和解碼

NSString類中有內置的方法可以實現。他們分別是:

- (NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding
- (NSString *)stringByReplacingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

       只要傳入相應的編碼即可以進行編碼和解碼了,不過此方法是對整個Url進行編碼的,所以如果有Query String中帶有 & ? / 等是不會進行編碼轉換的,如果有這方面的需要的朋友可以參照下面提供的網址,找到解決方法:http://www.cocoachina.com/bbs/read.php?tid-2469.html

示例:

NSString* string1 = @"https://www.cloudsafe.com/文件夾";  
      
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:https://www.cloudsafe.com/文件夾  
   
string2:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9  
string3:https://www.cloudsafe.com/%25E6%2596%2587%25E4%25BB%25B6%25E5%25A4%25B9  
   
string4:https://www.cloudsafe.com/文件夾  
string5:https://www.cloudsafe.com/%E6%96%87%E4%BB%B6%E5%A4%B9  
   
string6:https://www.cloudsafe.com/文件夾  
string7:https://www.cloudsafe.com/文件夾  





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章