我刚接触Haskell,并尝试在我的应用程序中使用纯的SHA1实现(Data.Digest.Pure.SHA
),同时还使用了JSON库(AttoJSON
)。
AttoJSON使用Data.ByteString.Char8
字节字符串,而SHA使用Data.ByteString.Lazy
字节字符串,而我的一些字符串字面值是[Char]
。
Haskell Prime的Char类型维基页面似乎表明这仍然是Haskell语言/Prelude中正在解决的问题。
有关Unicode支持的这篇博客文章列出了一些库,但已经有几年了。
目前最好的在这些类型之间进行转换的方法是什么,以及一些权衡有哪些?
谢谢!
Char
无法安全地转换为Word8
,因为Char
可以存储比Word8
更多的值。 - singpolyma