Imagen de Codificación Base64
Estoy creando un complemento de búsqueda abierta para Firefox/IE y la imagen debe estar codificada en Base64, así que ¿cómo puedo codificar en base 64 el favicon que tengo?
Solo estoy familiarizado con PHP
5 answers
Por lo que recuerdo, hay un elemento xml para los datos de la imagen. Puede utilizar este sitio web para codificar un archivo (utilice el campo de carga). A continuación, simplemente copie y pegue los datos en el elemento XML.
También puedes usar PHP para hacer esto de la siguiente manera:
<?php
$im = file_get_contents('filename.gif');
$imdata = base64_encode($im);
?>
Use La guía de Mozilla para obtener ayuda sobre la creación de complementos de OpenSearch. Por ejemplo, el elemento icon se usa así:
<img width="16" height="16">data:image/x-icon;base64,imageData</>
Donde imageData
son sus datos base64.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-20 08:50:25
$encoded_data = base64_encode(file_get_contents('path-to-your-image.jpg'));
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-24 21:26:44
Mi sinopsis de rfc2397 es:
Una vez que tenga sus datos de imagen codificados en base64, póngalos dentro de las etiquetas data:{mimetype};base64,
", esto es similar al prefijo hecho en el paréntesis de la definición url()
en CSS o en el valor citado del atributo src
de la etiqueta img
en [X]HTML. Puedes probar la url de datos en firefox colocando la línea data:image/...
en el campo URL y presionando enter, debería mostrar tu imagen.
Para realmente codificación creo necesitamos repasar todas sus opciones, no solo PHP, porque hay muchas maneras de base64 codificar algo.
- Utilice la herramienta de línea de comandos
base64
. Es parte de la GNU coreutils (v6+) y bastante por defecto en cualquier Cygwin, Lyonux, GnuWin32 instalar, pero no los BSDs he intentado. Cuestión:$ base64 imagefile.ico > imagefile.base64.txt
- Utilice una herramienta que ofrece la opción de convertir a base64, como Notepad++ que tiene la característica bajo plugins- > Herramientas MIME - > base64 Encode
- Envíese el archivo por correo electrónico y vea el contenido sin procesar del correo electrónico, copie y pegue.
- Use una web formulario.
Una nota sobre los tipos mime:
Preferiría que usaras uno de image/png
image/jpeg
o image/gif
ya que no puedo encontrar el popular image/x-icon
. ¿Debería ser image/vnd.microsoft.icon
?
También los otros formatos son mucho más cortos.
Compare 265 bytes vs 1150 bytes:
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==
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-26 18:06:41
Compruebe el siguiente ejemplo
<?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 .'" />'
?>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-03 10:29:22
Google me llevó a esta solución (base64_encode). Espero que esto ayude!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-30 11:06:37