使用haskell将整个文本转换为ascii

时间:2018-04-18 10:11:35

标签: haskell ascii

我有带输入的文本文件,如何将其转换为ascii,反之亦然?

abz
z?
9798122

这些输入会给出这个输出:

9798122
12263
abz

首先我从文本文件中读取输入并拥有所有行,但我不知道如何将整行转换为ascii。以下是我到目前为止的情况:

asciiWords :: String -> String 
asciiWords = words

convertLines :: [String] -> IO ()
convertLines = mapM_ (putStrLn . asciiWords)

main = do 
  content <- readFile "input.txt" 
  let linesList = lines content
  convertLines linesList

1 个答案:

答案 0 :(得分:3)

Data.Char模块提供ordchr,用于从Unicode字符转换为其代码点并返回。

ord :: Char -> Int
chr :: Int -> Char -- beware! partial function

较少的助记符fromEnumtoEnum也可以在没有任何导入的情况下使用。

您需要花一点时间考虑不在ASCII范围内的字符会发生什么。

相关问题