• Publicidad

Cómo convertir texto normal a ASCII

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Cómo convertir texto normal a ASCII

Notapor BigBear » 2009-05-31 17:43 @780

Hi!

Ando buscando un módulo en Perl que ayude a convertir texto normal a ASCII por ejemplo users = 117,115,101,114,115 (texto ASCII separado por comas)

¿Alguien podría ayudarme?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Notapor explorer » 2009-05-31 17:49 @784

El ASCII está prácticamente muerto. Ahora lo que hay que usar son las codificaciones regionales ISO. Mejor dicho: solo usar UTF8.

Usa el módulo Encode, su función from_to(), para pasar de una a otra.

También, si lo quieres hacer de forma directa:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
explorer@portatil:~> perl -le '$x="users"; print "$x=",join ",", map { ord }(split //, $x)'
users=117,115,101,114,115
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
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

Notapor Perl user » 2009-05-31 19:16 @844

Yo sugeriría:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print join ',', unpack "U*", $string # o A* para ASCII
 
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor creating021 » 2009-06-01 16:16 @719

Sólo aclaro que si bien usar "U*" sí funciona, "A*" no:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$x="users";
print "$x=", join ",", unpack "A*", $x;
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Produce useres=useres... ahora, pack "A6" se usa para agregar 6 espacios a un string... es similar a:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$string = sprintf "%-6s", "algo";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor Perl user » 2009-06-01 18:05 @795

Sorry, de hecho quise decir "C*", para utilizar una representación interna en C de cada octeto sin el signo.

Buena atrapada :)
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor BigBear » 2009-06-02 17:24 @767

Gracias a los que me ayudaron aunque la sintaxis avanzada y complicada de entender para mi, hace lo que estoy buscando...
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Notapor explorer » 2009-06-05 06:10 @299

Pues aquí estaremos para explicarte lo que no entiendas... y así podrás aplicarlo luego en otros trabajos.

P.D. Recuerda que este es el foro Intermedio, y algunas cosas se dan por supuestas
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 Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 4 invitados

cron