我正在寻找一个将Char转换为Word8的函数,以及另一个将其转换回来的函数。我在Hoogle上搜索了一下,没有类型为Char -> Word8的函数。我想这样做是因为Word8有Num类的实例,我可以将数字添加到它们中,以将它们更改为另一个数字。例如,我的函数会像这样:
shift :: Char -> Int -> Char
shift c x = toChar $ (toWord8 c) + x
有什么想法吗?
我正在寻找一个将Char转换为Word8的函数,以及另一个将其转换回来的函数。我在Hoogle上搜索了一下,没有类型为Char -> Word8的函数。我想这样做是因为Word8有Num类的实例,我可以将数字添加到它们中,以将它们更改为另一个数字。例如,我的函数会像这样:
shift :: Char -> Int -> Char
shift c x = toChar $ (toWord8 c) + x
您可以使用fromEnum
和toEnum
来通过Int
进行转换。这样做的好处是还支持Unicode。
> toEnum (fromEnum 'a' + 3) :: Char
'd'
Char
)不一定只包含一个字节,因此您描述的转换可能会丢失信息。这些函数是否可以代替?