我试图找到一个将Char转换为Word8的函数,以及另一个将其转换回来的函数。我看过Hoogle并且没有Char类型的功能 - > Word8。我想这样做是因为Word8有一个Num类的实例,我可以为它们添加数字以将它们更改为另一个数字。例如,我的函数看起来像:
shift :: Char -> Int -> Char
shift c x = toChar $ (toWord8 c) + x
有什么想法吗?
答案 0 :(得分:6)
您可以使用fromEnum
和toEnum
代替Int
。这还有额外的好处,也支持Unicode。
> toEnum (fromEnum 'a' + 3) :: Char
'd'
答案 1 :(得分:2)
我使用FP Complete的Hoogle找到了这些:http://haddocks.fpcomplete.com/fp/7.7/20131212-1/utf8-string/Codec-Binary-UTF8-String.html#v:encodeChar
Char
不一定只包含一个字节,因此您描述的转换可能会丢失信息。这些功能会改变吗?