• Publicidad

Códigos ASCII

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Códigos ASCII

Notapor BigBear » 2012-01-29 19:51 @869

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 ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Códigos ASCII

Notapor explorer » 2012-01-29 20:35 @899

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:

Sintáxis: [ Descargar ] [ Ocultar ]
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
Coloreado en 0.007 segundos, usando GeSHi 1.0.8.4

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

Otra opción es con URI::Encode:

Sintáxis: [ Descargar ] [ Ocultar ]
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
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

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 & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron