Saludos os traigo esta alternativa que me hice al codigo del programador Taru Karttunen
me aburria y dije voy hacer una alternativa asi mas cortica xDD

Código: Seleccionar todo

{-
Funciónes: strToHex y unHex
Autor: Strup
Descripcion: strToHex: toma una cadena y la conversa a hexadecimal,unHex: toma una cadena hexadecimal y la conversa a texto normal
Data: 06/04/2014 10:30
Comentario:Es una alternativa a la obra de Taru Karttunen, cuyo codigo esta en http://hackage.haskell.org/package/hex-0.1.2/docs/src/Data-Hex.html#hex
-}
import Data.Char
strToHex :: String -> String
strToHex xs = foldr(\x -> \y -> [(['0'..'9']++['A'..'F'])!!div (ord x) 16,(['0'..'9']++['A'..'F'])!! mod (ord x) 16]++y)[] xs

unHex :: String -> String
unHex [] = []
unHex [_] = error "La longitud es impar"
unHex(y:x:xs)= chr(digitToInt(y)*16 + digitToInt(x)):unHex xs
Pastebin:[Enlace externo eliminado para invitados]

Muestra:

Código: Seleccionar todo

"ghci>" :load "strup.hs"
[1 of 1] Compiling Strup            ( strup.hs, interpreted )
Ok, modules loaded: Strup.
"ghci>" strToHex "Vaselina"
"566173656C696E61"
"ghci>" unHex "566173656C696E61"
"Vaselina"
espero os guste el code un saludo
Abolición para el torneo del toro de la vega. Death to the murderers of bulls.
Responder

Volver a “Fuentes”