Haskell 包 Data.ByteString 问题
所以我看到另一篇文章,有人解决了这个问题,但他们只是说他们解决了,而我不能。 我正在开发的项目需要 Data.ByteString 来读取二进制文件。我的 Mai…
Haskell 如何创建 Word8?
我想编写一个简单的函数,使用 '\n' 作为分隔符将 ByteString 拆分为 [ByteString]。我的尝试: import Data.ByteString listize :: ByteString -> [B…
生成 ByteString 的函数的纯度(或具有ForeignPtr 组件的任何对象)
由于 ByteString 是一个带有 ForeignPtr 的构造函数: data ByteString = PS {-# UNPACK #-} !(ForeignPtr Word8) -- payload {-# UNPACK #-} !Int …
使用 O(1) 函数编写 CString 的可存储实例以获取总字节长度
我正在尝试编写一个 可存储向量 CString 实例(在我的例子中是空终止的 C 字符)。可存储实例将存储 CString 所在的指针 (Ptr CChar)。因此,向量的长…
将 ByteString 漂亮地打印为十六进制半字节
处理字节串并漂亮地打印其十六进制(0-F)表示的惯用方法是什么? putStrLn . show . B.unpack -- [1,126] 在进一步的工作中, putStrLn . show . map…
有效地将 64 位 Double 转换为 ByteString
我编写了一个将 64 位 Double 转换为 ByteString 的函数(架构/类型安全并不是真正的问题 - 让我们现在假设 Double 是 64 位 Word)。虽然下面的函数…
如何将 ByteString 转换为适当大小的 Word?
基本上我已经读取了对应于数量的 5 个字节,但我想将其转换为 Word64。最好的方法是什么? 编辑:我还应该说,这是在内部循环中运行的,因此性能至关…
Haskell 字节串打包/解包
我仍然不明白字节串是如何工作的, import qualified Data.ByteString.Lazy as BS let x = BS.readFile "somefile.txt" --some large file let z = ((…
Haskell 字节串更改 ASCII?
import qualified Data.ByteString.Lazy.Char8 as BS stuff <- BS.readFile "stuff.txt" 如何从字节串中获取特定字符然后更改其 ASCII,然后将其放回…
将 ByteString 部分解码为文本
我需要将各种编码的字节字符串解码为文本,但字节字符串可能是不完整的片段。理想情况下,我需要一个具有如下签名的函数: decodeFragment :: Encodin…
Haskell 惰性字节字符串 +读/写进度功能
我正在学习 Haskell Lazy IO。 我正在寻找一种优雅的方式来复制大文件(8Gb),同时将复制进度打印到控制台。 考虑以下以静默方式复制文件的简单程序…
如何使用 Data.Binary 存储递归数据类型
Data.Binary 很棒。我只有一个问题。假设我有一个这样的数据类型: import Data.Binary data Ref = Ref { refName :: String, refRefs :: [(String, R…
Data.ByteString 中的findSubstrings 和breakSubstring
在 Data/ByteString.hs 的源代码中,它表示函数 findSubstrings 已被弃用,取而代之的是 breakSubstring。不过,我认为使用 KMP 算法实现的 findSubst…
什么时候使用 ByteString,什么时候不使用?
我在 SPOJ 上的 PRIME1 问题上做了相当糟糕的尝试。我发现使用 ByteString 确实有助于提高阅读问题文本的性能。然而,使用 ByteString 写出结果实际上…