Transformateur, hexa, binaire, string

Contenu du snippet

Salut !

Voila un script sympa qui permet de passer du texte en :

Clair en Binaire
Binaire en Clair
Clair en Hexadecimale
Hexadecimale en Clair
Hexadecimale en Binaire
Binaire en Hexadecimale

Source / Exemple :


alias transcar2bin {
  unset %fin
  unset %a
  set %phrase $1-
  set %imax $calc($len(%phrase))
  while (%imax != %a) {
    set %s $calc(1+%a)
    set %char $mid(%phrase,%s,1)
    set %res $base($asc(%char),10,2)
    while ($len(%res) < 8) {
      set %res 0 $+ %res
    }
    set %fin %fin $+ $chr(160) $+ %res
    inc %a
  }
  msg # %fin
  echo --END--
}

alias transbin2car {
  set %a 0
  set %i 0
  unset %fin
  set %phrase $1-
  set %imax $int($calc($calc($len(%phrase)/8)+1))
  if (%imax != 1) {
    while (%imax > %a) {
      set %s $calc(1+%a)
      set %bin $gettok(%phrase,%a,160)
      set %res $base(%bin,2,10)
      if (%res == 32) {
        set %res 160
      }
      set %fin %fin $+ $chr(%res)
      inc %a
    }
  }
  else {
    set %fin $chr($base(%phrase,2,10))
  }
  set %del $left(%fin,1)
  set %fin $remove(%fin,%del)
  msg # %fin
  echo --END--
}

alias transcar2hexa {
  unset %fin
  unset %a
  set %phrase $1-
  set %imax $calc($len(%phrase))
  while (%imax != %a) {
    set %s $calc(1+%a)
    set %char $mid(%phrase,%s,1)
    set %res $base($asc(%char),10,16)
    while ($len(%res) < 2) {
      set %res 0 $+ %res
    }
    set %fin %fin $+ $chr(160) $+ %res
    inc %a
  }
  msg # %fin
  echo --END--
}

alias transhexa2car {
  set %a 0
  set %i 0
  unset %fin
  set %phrase $1-
  set %imax $int($calc($calc($len(%phrase)/2)+1))
  if (%imax != 1) {
    while (%imax > %a) {
      set %s $calc(1+%a)
      set %bin $gettok(%phrase,%a,160)
      set %res $base(%bin,16,10)
      if (%res == 32) {
        set %res 160
      }
      set %fin %fin $+ $chr(%res)
      inc %a
    }
  }
  else {
    set %fin $chr($base(%phrase,16,10))
  }
  set %del $left(%fin,1)
  set %fin $remove(%fin,%del)
  msg # %fin
  echo --END--
}

alias transhexa2bin {
  set %a 0
  set %i 0
  unset %fin
  set %phrase $1-
  set %imax $int($calc($calc($len(%phrase)/3)+1))
  if (%imax != 1) {
    while (%imax > %a) {
      set %s $calc(1+%a)
      set %bin $gettok(%phrase,%s,160)
      set %res $base(%bin,16,2)
      while ($len(%res) < 8) {
        set %res 0 $+ %res
      }
      set %fin %fin $+ $chr(160) $+ %res
      inc %a
    }
  }
  else {
    set %fin $base(%phrase,16,2)
  }
  msg # %fin
  echo --END--
}

alias transbin2hexa {
  set %a 0
  set %i 0
  unset %fin
  set %phrase $1-
  set %imax $int($calc($calc($len(%phrase)/9)+1))
  if (%imax != 1) {
    while (%imax > %a) {
      set %s $calc(1+%a)
      set %bin $gettok(%phrase,%s,160)
      set %res $base(%bin,2,16)
      while ($len(%res) < 2) {
        set %res O $+ %res
      }
      set %fin %fin $+ $chr(160) $+ %res
      inc %a
    }
  }
  else {
    set %fin $base(%phrase,2,16)
  }
  msg # %fin
  echo --END--
}

menu channel {
  Transformateur v1.3
  .Clair ---> Binaire:/transcar2bin $?="Entrez votre texte en clair"
  .Binaire ---> Clair:/transbin2car $?="Entrez votre texte en binaire"
  .Clair ---> Hexadecimale:/transcar2hexa $?="Entrez votre texte en clair"
  .Hexadecimale ---> Clair:/transhexa2car $?="Entrez votre texte en hexadécimal"
  .Hexadecimale ---> Binaire:/transhexa2bin $?="Entrez votre texte en hexadécimal"
  .Binaire ---> Hexadecimale:/transbin2hexa $?="Entrez votre texte en binaire"
}

Conclusion :


A mettre dans les Remote (ALT + R)

Voili voilou ;)

a+

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.