chr232不返回字符è

chr 232回报的评估'232'而不是'è'.

当然,我期待(chr . ord) 'è'回来'è'。相反,我得到了'232'

有人可以解释这里发生了什么吗?

回答

Haskell中会显示为表示一个字符反斜杠(的后跟与十进制码点对大多数非ASCII字符)。的表示一个的Char也将与单引号包围('…')。

如果要打印字符串的内容,可以使用putChar :: Char -> IO ()

Prelude Data.Char> putChar (chr 232)
èPrelude Data.Char> 

或者您可以将它包装在一个单例列表中并使用putStrLn该字符打印一行:

Prelude Data.Char> putStrLn [chr 232]
è


以上是chr232不返回字符è的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>