изображение base32 для тега img - PullRequest
2 голосов
/ 02 июля 2011

Я столкнулся с интересной вещью, как ... если я использую этот код для загрузки изображения в виде строки для байтового массива в кодировке Base64, он отлично работает

data:image/png;base64,<String>

Но я пытался закодировать одно и то же изображение в Base32 и назвать его как

data:image/png;base32,<String>

Но этот способ не работает. Может быть, я использую какой-то неправильный протокол или что-то ...: (

Так что мой вопрос ... Как вызвать изображение Base32 для тега img?

Спасибо

1 Ответ

2 голосов
/ 02 июля 2011

Если вы имеете в виду, что браузер не отображает изображение, это означает, что браузер не поддерживает 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===">

Я использовал b64decode и b32encode из модуля Python base64 для создания изображения в кодировке base32 из изображения в кодировке base64.

Согласно http://tools.ietf.org/html/rfc2397, поддерживаются форматы base64 и обычный ASCII (для символов, выходящих за пределы диапазона печатаемых 7-битных символов, используется стандартное шестнадцатеричное кодирование% XX.)

IE, по-видимому, не поддерживает встроенные изображения до IE8.

...