在Java中使用編碼爲base64字符串的網絡中的圖像工作。我只在img src標籤中看過image/png格式,例如data:image/png;base64,{eNc0d3d_St!ng...}
我還沒有看到image/gif或image/jpg。我已經看過,並在base64編碼上讀了一點。是data:image/png; base64是img標籤唯一的base64編碼?
此外,我在做 Base64.decode(src, Base64.DEFAULT)
時脫離了Java(Android)中的data:image/png;base64
部分,所以看起來在這種情況下沒有必要使用png。事實上,如果我不剝掉這個「標題」,那麼BitmapFactory.decodeByteArray
返回null。
所以問題是,除了PNG以外的其他格式的圖像編碼在網絡上?
大部分圖像(或其他二進制)文件格式,如PNG,GIF或JPEG格式,包含了(「魔術」)在文件開頭的標識符,唯一標識格式。在這種情況下,'image/png'部分是多餘的,但對於可以使用數據URI方案表示的所有可能的格式來說,情況可能並非如此。所以它確實有一個目的。另外,請記住'; base64'部分我*可選*,不要盲目地將數據發送到Base64解碼器。 – haraldK
感謝您的評論,這回答了我對這個主題的一些相關問題。並且還會生成一些新的。 :) –