<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Urlenc on Karpoke - Just Another Blog</title><link>http://karpoke.ignaciocano.com/tags/urlenc/</link><description>Recent content in Urlenc on Karpoke - Just Another Blog</description><generator>Hugo -- 0.159.0</generator><language>es</language><lastBuildDate>Sun, 06 Mar 2011 18:34:00 +0100</lastBuildDate><atom:link href="http://karpoke.ignaciocano.com/tags/urlenc/index.xml" rel="self" type="application/rss+xml"/><item><title>Imágenes embebidas en el código HTML, CSS o JSON</title><link>http://karpoke.ignaciocano.com/2011/03/06/imagenes-embebidas-en-el-codigo-html-css-o-json/</link><pubDate>Sun, 06 Mar 2011 18:34:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/03/06/imagenes-embebidas-en-el-codigo-html-css-o-json/</guid><description>&lt;p&gt;Mediante esquema &lt;code&gt;data:URI&lt;/code&gt; se pueden &lt;a href="http://mark.koli.ch/2009/07/howto-include-binary-image-data-in-cascading-style-sheets-css.html"&gt;incluir imágenes codificadas&lt;/a&gt;
en &lt;code&gt;base64&lt;/code&gt; en el CSS de una página o en el &lt;code&gt;src&lt;/code&gt; de una etiqueta &lt;code&gt;img&lt;/code&gt;
como si fueran fuentes externas. También se pueden introducir otro tipo
de datos, como por ejemplo, código HTML.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;lt;img src=&amp;#34;data:image/png;base64,iVBORw0KGgo[...]QmCC&amp;#34; title=&amp;#34;image&amp;#34; alt=&amp;#34;image&amp;#34; /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;También se puede utilizar en un &lt;a href="http://mark.koli.ch/2011/01/more-fun-with-rfc-2397----the-data-url-scheme.html"&gt;JSON&lt;/a&gt;:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;{
&amp;#34;image&amp;#34;:{
&amp;#34;data_uri&amp;#34;:&amp;#34;data:image/png;base64,iVBORw0KGgo[...]QmCC&amp;#34;
}
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt="Google 404" loading="lazy" src="http://karpoke.ignaciocano.com/images/google-404-300x112.png"&gt;&lt;/p&gt;
&lt;p&gt;Las ventajas de utilizar este método son que no se necesitan abrir
conexiones adicionales para decargar los datos, ya que toda la
información está incluida en el propio archivo, con lo que dejan
recursos disponibles, algo que puede ser especialmente útil en redes
inalámbricas muy saturadas o lentas, como algunas redes de telefonía
móvil, y se crean menos entradas en la caché del navegador. Además, al
estar incluidos en el código se pueden cachear.&lt;/p&gt;</description></item><item><title>urlencode y urldecode</title><link>http://karpoke.ignaciocano.com/2011/03/06/urlencode-y-urldecode/</link><pubDate>Sun, 06 Mar 2011 17:45:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2011/03/06/urlencode-y-urldecode/</guid><description>&lt;p&gt;Los siguientes caracteres &lt;a href="http://tools.ietf.org/html/rfc3986#section-2.3"&gt;son los únicos que se pueden utilizar&lt;/a&gt; en
una URL:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[a-zA-Z0-9-._~]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;El resto, se deben codificar usando el prefijo &lt;code&gt;%&lt;/code&gt; seguido del valor
ASCII hexadecimal del carácter. Por ejemplo:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;( = %28
) = %29
/ = %2F
+ = %2B
...
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Para &lt;a href="http://stackoverflow.com/questions/296536/urlencode-from-a-bash-script/298258#298258"&gt;codificar la URL&lt;/a&gt; podemos utilizar la función &lt;code&gt;uri_escape&lt;/code&gt; del
módulo &lt;code&gt;URI&lt;/code&gt; de Perl.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;alias urlenc=&amp;#39;furlenc() { perl -MURI::Escape -e &amp;#34;print uri_escape(\&amp;#34;$1\&amp;#34;).\&amp;#34;\n\&amp;#34;;&amp;#34;; }; furlenc&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;$ urlenc http://www.google.com
http%3A%2F%2Fwww.google.com
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Para la &lt;a href="http://www.commandlinefu.com/commands/view/2285/urldecoding"&gt;decodificación de la URL&lt;/a&gt;, podemos hacer uso de &lt;code&gt;sed&lt;/code&gt;:&lt;/p&gt;</description></item></channel></rss>