生產環境中發現base64解碼錯誤前端
下面定位問題:後端
系統流程:前端壓縮後產生byte[], 用base64編碼發送到後端,後端解碼後解壓縮。發現後端base64解碼錯誤。編碼
定位問題:打開debug日誌,比較前端編碼後的內容和後端接受到的內容,發現編碼後的+號變成了空格。url
字符經若是被urlencode後標準的base64中的/、 +會被轉成%xx
debug
解決方案:1.把空格替換成+號再解碼,2.用非標準的base64編解碼,它們將「+/」改成「_-」或「!_」等。日誌