色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何解決處理base64編碼文件大小不能超過71MB的問題

呂致盈2年前31瀏覽0評論

如何解決處理base64編碼文件大小不能超過71MB的問題?

base64只是一種二進制轉換字符的編碼方式而已,并不存在什么位數限制。這多大的數據都能編碼,這是毫無疑問的。

所以你編碼71M文件時出錯,很明顯是你使用的轉換庫有問題。

這個報錯很明顯是這個庫編碼base64時,直接把輸出的base64編碼存到了一個字符串變量里去,導致字符串變量數據過大,從而益出報錯。

所以解決方案很簡單,不要直接去對71M的數據進行轉換。

一 你可以在讀取圖片的時候,不要一次性把圖片全部加載到內存里,而是寫一個循環,按照固定的位數去讀區。絕大多數語言的read()方法都支持位讀取。

這樣一塊一塊的編碼就不會溢出了。

二 你也可以使用緩沖區而不是變量,先把圖片讀到緩沖區中,然后同上,按照位數分片轉換。

最后要注意,輸出結果的時候,千萬不能把結果直接累加在一個變量中,這樣一樣會溢出。

你可以

一 分片轉換,然后分片直接打印

二 分片的把結果寫入一個文件中

三 直接分片進行網絡傳輸,客戶端在進行組合。

四 用數組,堆,字典等等復雜數據結構來儲存結果。