我正在为Firefox/IE构建一个开放的搜索插件,并且图像需要是Base64编码的,那么我如何能够对我所拥有的图标进行64编码?
我只熟悉PHP
据我记得,图像数据有一个xml元素.您可以使用此网站对文件进行编码(使用上传字段).然后只需将数据复制并粘贴到XML元素即可.
您也可以使用PHP来执行此操作:
使用Mozilla指南获取有关创建OpenSearch插件的帮助.例如,icon元素的使用方式如下:
data:image/x-icon;base64,imageData>
imageData
你的base64数据在哪里?
$encoded_data = base64_encode(file_get_contents('path-to-your-image.jpg'));
我对rfc2397的概要是:
一旦你将base64编码的图像数据放入带有" data:{mimetype};base64,
" 前缀的url()
CSS 中定义括号中的前缀或者src
属性的引用值.img
标签在[X] HTML中.您可以通过将data:image/...
行放入URL字段并按Enter键来测试firefox中的数据URL ,它应该显示您的图像.
对于实际编码,我认为我们需要查看所有选项,而不仅仅是PHP,因为有很多方法可以对base64进行编码.
使用base64
命令行工具.它是GNU coreutils(v6 +)的一部分,在任何Cygwin,L i n u x,GnuWin32安装中都是默认的,但不是我尝试过的BSD.问题:$ base64 imagefile.ico > imagefile.base64.txt
使用具有转换为base64选项的工具,如Notepad ++,它具有plugins-> MIME tools-> base64 Encode下的功能
通过电子邮件发送文件并查看原始电子邮件内容,复制并粘贴.
使用网络 表单.
关于哑剧类型的说明:我希望你使用其中一种,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==
请检查以下示例
' ?>