我正在为 Firefox/IE 构建一个开放搜索插件,并且图像需要进行 Base64 编码,那么如何对我拥有的 favicon 进行 Base 64 编码?

我只熟悉PHP

有帮助吗?

解决方案

据我记得有一个用于图像数据的 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数据。

其他提示

$encoded_data = base64_encode(file_get_contents('path-to-your-image.jpg'));    

我的概要 RFC2397 是:

获得 Base64 编码的图像数据后,将其放入前缀为“的 <Image></Image> 标签内data:{mimetype};base64," 这类似于括号中的前缀 url() CSS 中的定义或引用值 src 的属性 img [X]HTML 中的标记。您可以在 Firefox 中测试数据 url,方法是将 data:image/... 在 URL 字段中输入一行并按 Enter 键,它应该会显示您的图像。

对于实际编码,我认为我们需要详细介绍您的所有选项,而不仅仅是PHP,因为有很多方法来编码某些内容。

  1. 使用 base64 命令行工具。它是 GNU coreutils (v6+) 的一部分,几乎是任何系统的默认设置 西格文, LnX, GnuWin32 安装,但不是我尝试过的 BSD。问题: $ base64 imagefile.ico > imagefile.base64.txt
  2. 使用具有转换为 Base64 选项的工具,例如 记事本++ 它具有插件->MIME工具->base64编码下的功能
  3. 通过电子邮件向自己发送文件并查看原始电子邮件内容,复制并粘贴。
  4. 用一个 网络 形式.

关于哑剧类型的注释:我希望你使用其中之一 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==

检查以下示例

<?php
    // First get your image
    $image = 'path-to-your-picture/image.jpg';
    $picture = base64_encode(file_get_contents($image));
    echo '<img width="100" height="100" src="data:image/jpg;base64,'. $picture .'" />'
    ?>

谷歌引导我 解决方案(base64_encode)。希望这可以帮助!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top