我是haskell.am的新手,尝试为给定的纯文本加密实现加密。下面是我的示例代码
encryptChar :: Int -> Char -> Char
encryptChar shift c
| canEncrypt c = chr(ord c + wrapshift)
| isUpper c = c
where wrapshift = let shift' = shift `mod` 26
in if (wraparound shift' c)
then shift'-26
else shift'
encryptChar _ '0' = '*'
encryptChar _ '1' = '\''
encryptChar _ '2' = '~'
encryptChar _ '3' = '!'
encryptChar _ '4' = '@'
encryptChar _ '5' = '#'
encryptChar _ '6' = '$'
encryptChar _ '7' = '%'
encryptChar _ '8' = '^'
encryptChar _ '9' = '&'
encryptChar _ '?' = ' '
encryptChar _ c = c
当我的字符包含一个数字时,必须使用特殊符号进行加密,例如在上面的代码中,当我的字符包含1
时,它必须替换为我发现它的\
haskell中的保留字符。但是如何使用这些字符加密?
答案 0 :(得分:7)
简短回答:使用 <div class="active">
some text
</div>
。
大多数编程语言使用escape sequences [wiki]来表示特殊字符,并使用反斜杠作为转义序列的开头。
反斜杠字符则表示为转义反斜杠,因此 '\\'
。
就像维基百科文章中的表格所说:
'\\'
答案 1 :(得分:4)
Prelude> putStrLn $ "You can generate a backslash like this: \\ (escape sequence) or like this: \x5c (Unicode identifier sequence) or like this: " ++ [toEnum 92] ++ " (Unicode code point)."
You can generate a backslash like this: \ (escape sequence) or like this: \ (Unicode identifier sequence) or like this: \ (Unicode code point).