1. 程式人生 > >使用URLDecoder.decode解析字串含有"+","+"號這個特殊字元會被吃掉,轉換成空格

使用URLDecoder.decode解析字串含有"+","+"號這個特殊字元會被吃掉,轉換成空格

實際使用情況是這樣的:

我們在使用url的時候,一般從網路或是伺服器得到的一個url地址一般都是經過encode編碼過的(一般是使用URLEncoder.encode),或者是我們要給服務端傳遞url引數,直接使用的話,到服務端去解析的時候(應該服務端就是使用decode來解析的),那麼原來沒有經歷過encode編碼的字串,比如za4T8MHB/6mhmYgXB7IntyyOUL7Cl++0jv5rFxAIFVji8GDrcf+k8g== ,直接通過服務度的decode解碼後就會變成:

"za4T8MHB/6mhmYgXB7IntyyOUL7Cl  0jv5rFxAIFVji8GDrcf k8g=="


特殊符號"+"加消失了,正必然會出錯.

所以我們在傳遞時,最好要encode一下.

如下是我在編碼時出現的問題:

直接使用decode來解碼我的字串,結果+丟失,在後續使用的過程中產生了錯誤


所以,在decode前,最後encode一下:


字串被正確編碼


字串被正確解碼