• Publicidad

Binario y texto normal

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

Binario y texto normal

Notapor BigBear » 2013-06-07 16:13 @717

Estaba viendo este página que ofrece un servicio que necesito hacerlo en Perl: http://www.roubaixinteractive.com/PlayG ... o_Text.asp

La pregunta es: ¿cómo convierto texto normal a binario y de binario a texto normal?

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

Publicidad

Re: Binario y texto normal

Notapor explorer » 2013-06-07 16:42 @737

Código: Seleccionar todo
> perl -E 'say oct("0b1101"); say sprintf "%b", 13'
13
1101

Más información en perldoc -f oct:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
       oct EXPR
       oct
Interpreta EXPR como una cadena en octal y devuelve el valor correspondiente. (Si EXPR comienza con "0x", se interpreta como una cadena en hexadecimal.  Si EXPR empieza con "0b", se interpreta como una cadena binaria. El espacio en blanco que le rodea es ignorado en los tres casos).
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
y en perldoc -f sprintf

La notación de los números lo tienes en perlnumber:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
NOMBRE
       perlnumber - Semántica de números y operaciones numéricas en Perl

SINOPSIS
           $n = 1234;              # entero decimal
           $n = 0b1110011;         # entero binario
           $n = 01234;             # entero octal
           $n = 0x1234;            # entero hexadecimal
           $n = 12.34e-56;         # notación exponencial
           $n = "-12.34e56";       # número especificado como una cadena
           $n = "1234";            # número especificado como una cadena
Coloreado en 0.000 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: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Binario y texto normal

Notapor CrozzCyborg » 2013-06-07 19:45 @865

- Convirtiendo los caracteres a su valor numérico según la tabla ASCII y luego estos números a binario haciendo las divisiones correspondientes

- La forma que dijo explorer

- Usando las funciones pack y unpack

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. crozz@Cyborg:~$ perl -le 'print unpack("B*","binario")'
  2. 01100010011010010110111001100001011100100110100101101111
  3. crozz@Cyborg:~$ perl -le 'print pack("B*","01100010011010010110111001100001011100100110100101101111")'
  4. binario
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
CrozzCyborg
Perlero nuevo
Perlero nuevo
 
Mensajes: 7
Registrado: 2013-04-26 02:41 @153

Re: Binario y texto normal

Notapor explorer » 2013-06-08 04:32 @231

Mi solución solo vale para números, pero puede aplicarse a texto normal si, por cada carácter de la cadena, sacamos su valor ordinal (función ord()).

La mejor y más sencilla solución es la de pack()/unpack(), sin duda.

Otro tema que no se ha comentado es en qué está codificado el texto que quiere convertir Doddy.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
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 36 invitados

cron