Base64编码图像
时间:2020-03-05 18:45:24 来源:igfitidea点击:
我正在为Firefox / IE构建一个开放式搜索添加组件,并且该图像需要经过Base64编码,因此如何对我拥有的favicon进行base 64编码?
我只熟悉PHP
解决方案
回答
Google引导我使用此解决方案(base64_encode)。希望这可以帮助!
回答
据我记得,图像数据有一个xml元素。我们可以使用此网站对文件进行编码(使用上载字段)。然后,只需将数据复制并粘贴到XML元素即可。
我们也可以像这样使用PHP来做到这一点:
<?php $im = file_get_contents('filename.gif'); $imdata = base64_encode($im); ?>
使用Mozilla指南获取有关创建OpenSearch插件的帮助。例如,icon元素的用法如下:
<img width="16" height="16">data:image/x-icon;base64,imageData</>
其中," imageData"是base64数据。
回答
我对rfc2397的简介是:
将base64编码的图像数据放入<Image> </ Image>标记后,将其放入带有"data:{mimetype}; base64,
"前缀的标签中,这类似于在url()括号中完成的前缀)在CSS中的定义,或者在[X] HTML中img标签的src属性的引用值中。我们可以在firefox中测试数据url,方法是将data:image / ...行放在URL字段中,然后按Enter,它将显示图像。
对于实际编码,我认为我们需要遍历所有选项,而不仅仅是PHP,
因为有许多方法可以对某事进行base64编码。
- 使用
base64
命令行工具。它是GNU coreutils(v6 +)的一部分,几乎在任何Cygwin,Linux,GnuWin32安装中都是默认设置,但不是我尝试过的BSD。问题:$ base64 imagefile.ico> imagefile.base64.txt
- 使用带有选项以转换为base64的工具,例如Notepad ++,其功能在plugins-> MIME tools-> base64 Encode下
- 通过电子邮件将文件发送给自己,并查看原始电子邮件内容,然后进行复制和粘贴。
- 使用网络表单。
关于mime类型的注释:
我希望我们使用image / png,image / jpeg或者image / gif中的一种,因为我找不到流行的image / x-icon。应该是" image / vnd.microsoft.icon"吗?
其他格式也要短得多。
比较265个字节和1150个字节:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAVFBMVEWcZjTcViTMuqT8/vzcYjTkhhTkljT87tz03sRkZmS8mnT03tT89vTsvoTk1sz86uTkekzkjmzkwpT01rTsmnzsplTUwqz89uy0jmzsrmTknkT0zqT3X4fRAAAAbklEQVR4XnXOVw6FIBBAUafQsZfX9r/PB8JoTPT+QE4o01AtMoS8HkALcH8BGmGIAvaXLw0wCqxKz0Q9w1LBfFSiJBzljVerlbYhlBO4dZHM/F3llybncbIC6N+70Q7OlUm7DdO+gKs9gyRwdgd/LOcGXHzLN5gAAAAASUVORK5CYII= data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD/////ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv///////////2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb///////////9mZmb/ZmZm//////////////////////////////////////////////////////9mZmb/ZmZm////////////ZmZm/2ZmZv//////ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv//////ZmZm/2ZmZv///////////2ZmZv9mZmb//////2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb//////2ZmZv9mZmb///////////9mZmb/ZmZm////////////////////////////8fX4/8nW5P+twtb/oLjP//////9mZmb/ZmZm////////////////////////////oLjP/3eZu/9pj7T/M2aZ/zNmmf8zZpn/M2aZ/zNmmf///////////////////////////////////////////zNmmf8zZpn/M2aZ/zNmmf8zZpn/d5m7/6C4z/+WwuH/wN/3//////////////////////////////////////+guM//rcLW/8nW5P/x9fj//////9/v+/+w1/X/QZ7m/1Cm6P//////////////////////////////////////////////////////7/f9/4C+7v8xluT/EYbg/zGW5P/A3/f/0933/9Pd9//////////////////////////////////f7/v/YK7q/xGG4P8RhuD/MZbk/7DX9f//////4uj6/zJh2/8yYdv/8PT8////////////////////////////UKbo/xGG4P8xluT/sNf1////////////4uj6/zJh2/8jVtj/e5ro/////////////////////////////////8Df9/+gz/P/////////////////8PT8/0944P8jVtj/bI7l/////////////////////////////////////////////////////////////////2yO5f8jVtj/T3jg//D0/P///////////////////////////////////////////////////////////3ua6P8jVtj/MmHb/+Lo+v////////////////////////////////////////////////////////////D0/P8yYdv/I1bY/9Pd9///////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==