iOS開(kāi)發(fā)中NSString與NSData相互轉(zhuǎn)碼?網(wǎng)址編碼?

『導(dǎo)言』

iOS開(kāi)發(fā)中,對(duì)于請(qǐng)求網(wǎng)絡(luò)數(shù)據(jù)時(shí)候,經(jīng)常需要處理編碼轉(zhuǎn)碼問(wèn)題?經(jīng)常出現(xiàn)NSUTF8StringEncoding字樣,在NSData和NSString的轉(zhuǎn)換中如何用?


  • NSUTF8StringEncoding編碼解碼?
  • 編碼: 使漢字** →** 含%的字符串
NSString *nameStr = [[NSString alloc]init];
nameStr = [nameStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  • ** 解碼**:使漢字 %的字符串
NSString *transString = [NSString stringWithString:[string stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
  • NSSDataNSString的相互轉(zhuǎn)換?
  • str轉(zhuǎn)datainitWithData: encoding:
  • 用法
NSString *str = @"username=zwj&pwd=123&type=JSON";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
  • data轉(zhuǎn)strdataUsingEncoding:
    • 用法
NSString *str2 = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
  • 網(wǎng)址含漢字如何轉(zhuǎn)碼?str->str
  • str轉(zhuǎn)str: stringByAddingPercentEscapesUsingEncoding:
  • 用法:
NSString *str = @"http://120.25.226.186:32812/login2?username=文娟&pwd=520it&type=JSON";
str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  • POSTGET請(qǐng)求,何時(shí)需要轉(zhuǎn)碼?
  • GET請(qǐng)求:
*  若url的`路徑參數(shù)`含有`漢字`,需要`轉(zhuǎn)碼`;
 * 例1:參數(shù)中含有`漢字`為`小碼哥`
   NSString *str = @"http://120.25.226.186:32812/login2?username=小碼哥&pwd=520it&type=JSON";
    str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  • POST請(qǐng)求:
    • 若url的域名含有漢字,進(jìn)行轉(zhuǎn)碼。
    • HTTPBody 請(qǐng)求體:已經(jīng)進(jìn)行了編碼,所以不需要轉(zhuǎn)碼。
      例2:
    request.HTTPBody = [@"username=小碼哥&pwd=520it&type=JSON" dataUsingEncoding:NSUTF8StringEncoding];
  • 總結(jié):
  • str轉(zhuǎn)data
initWithData:  encoding:
  • data轉(zhuǎn)str
dataUsingEncoding:
 > * `str`轉(zhuǎn)`str`:
stringByAddingPercentEscapesUsingEncoding:
圖.開(kāi)心一刻
  • 鏈接

<1>.NSSData和NSString的相互轉(zhuǎn)換
<2>.iOS開(kāi)發(fā)中,如何轉(zhuǎn)碼字符串NSString或者網(wǎng)址str?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容