国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談在js傳遞參數中含加號(+)的處理方式

2019-11-20 08:46:55
字體:
來源:轉載
供稿:網友

一般情況下,URL 中的參數應使用 url 編碼規則,即把參數字符串中除了 -_. 之外的所有非字母數字字符都將被替換成百分號(%)后跟兩位十六進制數,空格則編碼為加號(+)。

但是對于帶有中文的參數來說,這種編碼會使編碼后的字符串變得很長。

如果希望有短一點的方式對參數編碼,可以采用 base64 編碼方式對字符串進行編碼,但是 base64 編碼方式不能處理 JavaScript 中的中文,因為 JavaScript 中的中文都是以 UTF-16 方式保存的。

而 base64 只能處理單字節字符,所以不能直接用 base64 對帶有中文的 JavaScript 字符串進行編碼。

但是可以通過 utf.js 這個程序中提供的 utf16to8 來將 UTF-16 編碼的中文先轉化為 UTF-8 方式,然后再進行 base64 編碼。

這樣編碼后的字符串,在傳遞到服務器端后可以直接通過 base64_decode 解碼成 UTF-8 的中文字符串。

但是還有個問題需要注意。

base64 編碼中使用了加號(+),而 + 在 URL 傳遞時會被當成空格,因此必須要將 base64 編碼后的字符串中的加號替換成 %2B 才能當作 URL 參數進行傳遞。

否則在服務器端解碼后就會出錯。

所以我們需要做的就是encodeURI(str).replace(//+/g,'%2B')

以上就是小編為大家帶來的淺談在js傳遞參數中含加號(+)的處理方式全部內容了,希望大家多多支持武林網~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尚志市| 翼城县| 巴青县| 上杭县| 乌拉特后旗| 家居| 三门峡市| 马公市| 玛曲县| 保德县| 三明市| 三穗县| 吉木乃县| 宁海县| 河南省| 通城县| 那坡县| 若尔盖县| 大埔区| 聂拉木县| 息烽县| 枣庄市| 肇州县| 葵青区| 光泽县| 灵丘县| 嵩明县| 吉安市| 寻乌县| 南投市| 伊川县| 高雄市| 荥经县| 抚松县| 汝南县| 雷州市| 顺平县| 化德县| 兴隆县| 若羌县| 乌兰县|