我正在使用Data.Binary.Get monad从Haskell中的文件中读取数据。我将如何将从getWord32 32**获取的一些Word32转换成一个字符或字符串?
我尝试过将Word32分解成四个八位数,并以这种方式进行转换,但我在转换工作上遇到了困难。如何最好地将Word32转换为字符串(假设有四个字符)。
发布于 2015-10-11 00:42:02
包utf8 8-光有一个名为w2c函数的函数,其类型为:
w2c ::Word32 -> Char可以看到它是如何实现的:
w2c :: Word32 -> Char
{-# INLINE w2c #-}
#if defined(__GLASGOW_HASKELL__)
w2c (W32# w) = C#(chr#(word2Int# w))
#else
w2c = unsafeChr . fromIntegral
#endif您可以在它周围编写一个包装器:
w2s :: Word32 -> String
w2s xs = [xs]或者,您也可以使用show函数,因为Word32有一个实例。但我想,这会有表现上的损失。
https://stackoverflow.com/questions/33060220
复制相似问题