关于管理.exe文件制作中unicode字符的第一个问题,这也是GHC中的一个错误?
> print "Frère"
"Fr\233re"
答案 0 :(得分:11)
print x
相当于putStrLn (show x)
,其中show
将Show
类的类型转换为字符串表示形式。
在您的情况下,x已经具有String
类型。有人可能会认为show
的String实现只会返回其参数不变,但实际上它会将其转换为ASCII字符串文字标记,其语法与Haskell源代码中使用的相同。这是通过用引号括起来并通过转义“特殊”字符(基本上是你键盘上没有的字符)来完成的。
所以,这不是一个错误,而是print
的预期行为。如果您想直接输出字符串,请改用putStrLn
。
答案 1 :(得分:1)
尝试
> putStrLn "Frère"
Frère