iOS端post請(qǐng)求參數(shù)中含有"+"號(hào),傳到服務(wù)器那邊變成空格問題處理

在近期的項(xiàng)目開發(fā)中遇到一個(gè)問題,在數(shù)據(jù)進(jìn)行加密后,有些字符串加密后會(huì)含有“+”號(hào),在服務(wù)器端接收到為空格;

在網(wǎng)上查了很多資料,大體方案有以下幾種:

1、修改客戶端

將參數(shù)中的“+”全部替換為?“%2B”;

但是我這邊測(cè)試后服務(wù)器收到的就是“%2B”,惆悵~~~

2、服務(wù)器端將空格替換為“+”,但是這種方式只適用于參數(shù)中有?“+”沒有空格的情況,不敢嘗試;

或者服務(wù)器端將“%2B”全部替換為“+”,同樣不想選擇這種方式;

3、使用stringByAddingPercentEncodingWithAllowedCharacters方法對(duì)特殊字符轉(zhuǎn)義

NSString*charactersToEscape?=@"?!@#$^&%*+,:;='\"`<>()[]{}/\\|?";

NSCharacterSet*allowedCharacters?=?[[NSCharacterSetcharacterSetWithCharactersInString:charactersToEscape]invertedSet];

NSString*encodedUrl?=?[urlstringByAddingPercentEncodingWithAllowedCharacters:allowedCharacters];

使用后發(fā)現(xiàn)“+”還是變成了“%2B”,囧~~

4、最終的處理方式是將字符串轉(zhuǎn)換成16進(jìn)制,服務(wù)器端再轉(zhuǎn)換回去即可,成功解決問題??????

最后編輯于
?著作權(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)容