base32图片用于img标签

时间:2011-07-02 02:58:15

标签: java encoding base64 base32

我遇到了一个有趣的事情......如果我使用这段代码将图像作为Base64编码字节数组的字符串下载它可以正常工作

data:image/png;base64,<String>

但是我想把相同的图像编码到Base32并将其称为

data:image/png;base32,<String>

但这种方式不起作用。也许我正在使用一些错误的协议或其他...... :(

所以我的问题是...... 如何为img标签调用Base32图像?

由于

1 个答案:

答案 0 :(得分:2)

如果您的意思是浏览器没有显示图像,则表示浏览器不支持base32。我对Iceweasel4,Firefox 3和Chrome 12也有同样的问题.IE7没有显示base64或base32编码的内嵌图像。

以下是我用于测试的文件,来自http://www.sweeting.org/mark/blog/2005/07/12/base64-encoded-images-embedded-in-html

test1.html在Firefox,Iceweasel,Chrome中显示正常:

<img src="data:image/gif;base64,R0lGODlhUAAPAKIAAAsLav///88PD9WqsYmApmZmZtZf
YmdakyH5BAQUAP8ALAAAAABQAA8AAAPbWLrc/jDKSVe4OOvNu/9gqARDSRBHegyGMahqO4R0bQcj
IQ8E4BMCQc930JluyGRmdAAcdiigMLVrApTYWy5FKM1IQe+Mp+L4rphz+qIOBAUYeCY4p2tGrJZe
H9y79mZsawFoaIRxF3JyiYxuHiMGb5KTkpFvZj4ZbYeCiXaOiKBwnxh4fnt9e3ktgZyHhrChinON
s3cFAShFF2JhvCZlG5uchYNun5eedRxMAF15XEFRXgZWWdciuM8GCmdSQ84lLQfY5R14wDB5Lyon
4ubwS7jx9NcV9/j5+g4JADs=">

test2.html不会在我的任何浏览器中显示。

<img src="data:image/gif;base32,I5EUMOBZMFIAADYAUIAAACYLNL77776PB4H5LKVRRGAK
MZTGM3LF6YTHLKJSD6IEAQKAB7YAFQAAAAAAKAAA6AAAAPNVROW47YYMUSKXXA4OXTN375QKQBCD
JEIEO6QMQYY2Q2R3QR2G2BZDEEHQJYATAJA4656QTFXMQZDGOQABY5RIUAYLK2YCSTMFWLSFFDGU
QQPPRST6F6FOTBZ7VIQOAQCRQ6BGHCTWWRVMSZPB7XF36ZTGY2YBNBUII4IXOJZITDDODYRQM34S
SOJJC33GHYMW3B4CRF3I5CFAOCPRQ6D6PN6XW6JNQGOIPBVQUGFHHDNTO4CQCKCFC5RGDPBGMUNZ
XHEFQNXJ7F46OUOEYAC5PFOECUK6AZLFTVZCXDHQMCTHKJB44JJNA7MOKHLYYAYHSLZKE7RON4CL
XDY7JVYV674PT6QOBEADW===">

我使用了Python的base64模块中的b64decode和b32encode,从base64编码的图像中创建了base32编码的图像。

根据http://tools.ietf.org/html/rfc2397,支持的格式为base64和纯ASCII(对于那些可打印的7位字符范围之外的字符,您使用标准的%XX十六进制编码。)

在IE8之前,IE显然不支持任何内嵌图像。