URl 傳參時 號變成空格

2021-08-02 03:28:34 字數 869 閱讀 2831

前端用base64加密後的資料,傳遞到後台時發現乙個問題:

比如 韓飛 這個名字,base64加密後的字串為

6z+p6aoe
但是後端接受到引數為:

6z p6aoe
+號變成了空格,導致後台解密的時候出現異常。

解決辦法如下:

1、修改客戶端,將客戶端帶「+」的引數中的「+」全部替換為‍「2b%」,這樣引數傳到伺服器端時就能得到「+」了。

2、修改伺服器端,將空格替換為「+」,這種方式只適用於引數中有‍「+」沒有空格的情況。

本人前端對引數使用base64加密,後端對該引數使用base64解密,使用了第二種方法,替換空格為+號之後再解密。

後端解碼時遇到乙個問題,不能正確解碼:

import sun.misc.base64decoder;
merchantrelperson = merchantrelperson.replace(" ", "+");

base64decoder decoder = new base64decoder();

byte b = null;

b = decoder.decodebuffer(merchantrelperson);

merchantrelperson = new string(b, "utf-8");

最後發現,是new string時沒有指定編碼方式。指定之後就沒問題了。

專案用的是utf-8編碼,但是直接

merchantrelperson = new string(b);
還是亂碼,指定utf-8之後就好了。

URl 傳參時 號變成空格

1,url傳參中加號變空格的解決方案 url傳參加號變空格的問題,在頁面中把 號替換為 2b 可以得到解決 str str.replace 2b 說明 和2之間是沒有空格的,因為在網頁上顯示時,會被轉義為 號,所以本人加了個空格,實際應用中是沒有的。希望能解決您的問題。2,遇到的問題 當上傳檔案的檔...

傳參時Url中有中文報錯

url中如果傳了中文,瀏覽器會報錯 the header content contains invalid characters。原因 瀏覽器自動把這個url進行decodeuricomponent,英文就不用在意,但是中文直接decodeuricomponent就會出現亂碼。官方解釋 有效的uri...

獲取url傳參

function urlparameterforkey name else 讀取 html 引數 window.location.search 獲取url之後的字串 如 www.baidu.com?id 7 得到 id 7 regexp regexp 物件表示正規表示式,它是對字串執行模式匹配的強大...