Página 1 de 1

Cómo convertir texto normal a ASCII

NotaPublicado: 2009-05-31 17:43 @780
por BigBear
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?

NotaPublicado: 2009-05-31 17:49 @784
por explorer
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.003 segundos, usando GeSHi 1.0.8.4

NotaPublicado: 2009-05-31 19:16 @844
por Perl user
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,

NotaPublicado: 2009-06-01 16:16 @719
por creating021
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

NotaPublicado: 2009-06-01 18:05 @795
por Perl user
Sorry, de hecho quise decir "C*", para utilizar una representación interna en C de cada octeto sin el signo.

Buena atrapada :)

NotaPublicado: 2009-06-02 17:24 @767
por BigBear
Gracias a los que me ayudaron aunque la sintaxis avanzada y complicada de entender para mi, hace lo que estoy buscando...

NotaPublicado: 2009-06-05 06:10 @299
por explorer
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