在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
感谢您的评论,这回答了我对这个主题的一些相关问题。并且还会生成一些新的。 :) –