我搜尋了一下關鍵字,base64 decode tail ,
在 stackoverflow有一個159分的回答
這些結尾的等號(=),最多一個或兩個,也可能不是等號(=)結尾(足碼了,不用補等號),都是為了湊位數,補上的,基本上結尾的等號(=)都不是編碼前的內容。應該不會影響資料的完整性。
所以直接去掉應該沒關係。所以沒傳到後端也沒關係。
這好像比較像上個問題**=**的參考。
前端,你js decode是用那個函式庫呢? 第三方庫很多,會不會是實作上的問題?
恩恩 是不會影響到原本的資料沒錯
但是後面會多一個怪符號,感覺這就不太正常。
有些時候會影響功能,譬如把檔名解回去放到a的src時,就會造成檔名錯了,無法下載。
我用的函式:https://drive.google.com/open?id=0BxCraRiZ8Q4JYWdnX2JZYkN5bmM
我一直在抓這個問題出在哪裡,所以從http request開始找,因為我發現php收到沒有=號的資料寫進資料庫,在撈出來decode後會因為那個等號不見了出現�符號。我手動進資料庫把=補回去,前端就會顯示正常。
你用的web server 不是apache,是那牌的web server呢?
有點好奇!!
base64 沒有壓縮(反而還膨脹、變大),保密(一碼對一碼的轉換)的功能。就是 binary-to-text 。
我前陣子遇到的例子,是把圖檔,jpg/png,文件掃描檔,pdf ,這些二進位檔用base64 轉成一堆文字。透過soap web service資料交換。
只是"檔名",需要base64嗎? 我遇到的例子,檔名還是用原來的檔名,沒有轉,二進位內容再base64轉就好。要讀取內容時,解碼後再另存新檔。