Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Básico » Códigos ASCII Responder al tema
Nuevo tema


Página 1 de 1  [ 2 mensajes ] 
 
Nota 2012-01-29 19:51 @869

Perlero Senior
Registrado: 2009-03-01 18:39 @818
Mensajes: 387
Códigos ASCII
Hola. Estaba viendo esta web: http://www.ascii.cl/es/ y quería preguntar si había alguna forma de hacer lo mismo en Perl; me refiero a poner una URL y codificarla como la web dice.

¿ Alguien me puede ayudar ?


Nota 2012-01-29 20:35 @899
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
Re: Códigos ASCII
Si estamos hablando de la codificación de los URL, por ejemplo, pasar de

?parametro="Haga click en 'URL Encode'!"

a

%3Fparametro%3D%22Haga+click+en+%27URL+Encode%27%21%22

lo tienes explicado en la pregunta How do I decode or create those %-encodings on the web? del perlfaq9.

Ejemplo:

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
  1. use URI::Escape;
  2.  
  3. my $original = q(?parametro="Haga click en 'URL Encode'!");
  4.  
  5. my $escapado = uri_escape( $original );
  6.  
  7. print "$escapado\n";  # %3Fparametro%3D%22Haga%20click%20en%20%27URL%20Encode%27%21%22

Si necesitas procesar muchos URL, puedes usar la variante URI::Escape::XS.

Otra opción es con URI::Encode:

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
  1. use URI::Encode;
  2.  
  3. my $original = q(http://dominio.com/directorio del usuario/recurso.ext?parametro);
  4.  
  5. my $encoder = URI::Encode->new({encode_reserved => 0});
  6.  
  7. print $encoder->encode($original),    "\n";  # http://dominio.com/directorio%20del%20usuario/recurso.ext?parametro
  8. print $encoder->encode($original, 1), "\n";  # http%3A%2F%2Fdominio.com%2Fdirectorio%20del%20usuario%2Frecurso.ext%3Fparametro

Según el valor de verdad del segundo parámetro, se codificarán o no los caracteres especiales que son legales en un URL. Depende de lo que necesites hacer o cómo sean los datos de partida tendrás que elegir uno u otro. Y cuidado con las dobles codificaciones (codificar algo que ya está codificado, o no decodificar suficientemente).

_________________
JF^D Perl programming


Responder al tema  [ 2 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO