什么时候使用 ByteString,什么时候不使用?
我在 SPOJ 上的 PRIME1 问题上做了相当糟糕的尝试。我发现使用 ByteString 确实有助于提高阅读问题文本的性能。然而,使用 ByteString 写出结果实际上…
数据类型到 ByteString
我有一个 newtype 我想保存在一个文件中,如下所示: type Index = (Int, Int) newtype Board a = Board { unboard :: Array Index a } 所以基本上是…
从 Haskell 中的 git packfile 索引获取幻数
我想从 git packfile 索引中获取幻数,以确保它确实是一个 packfile。 包格式文档指出幻数是“/377tOc”。例如,当我用 Ruby 打开 packfile 时,我在…
Haskell 字节串:如何模式匹配?
我是 Haskell 新手,在弄清楚如何模式匹配 ByteString 时遇到了一些麻烦。我的函数的 [Char] 版本如下所示: dropAB :: String -> String dropAB []…
Haskell ByteStrings - 最终将大文件加载到内存中
您好, 我试图理解为什么我看到整个文件通过以下程序加载到内存中,但是如果您注释掉“(***)”下面的行,那么程序会以恒定的速度运行(大约 1.5M)空…
在haskell中读取二进制文件
我怎样才能编写一个具有类似定义的函数... readBinaryFile :: Filename -> IO Data.ByteString 我已经掌握了 Haskell 的功能部分,但类型系统和 mon…
如何将 (StorableArray (Int, Int) Word8) 转换为惰性 ByteString?
我正在尝试加载 PNG 文件,获取未压缩的 RGBA 字节,然后将它们发送到 gzip 或 zlib 包。 pngload 包将图像数据返回为 (StorableArray (Int, Int) Wor…
在 Haskell 中,对 Lazy ByteString 调用 length 会强制将整个字符串放入内存吗?
我正在使用惰性字节串读取大数据流,并且想知道在解析它时是否至少有 X 个字节可用。也就是说,我想知道字节串是否至少有 X 个字节长。 对其调用 leng…
Haskell ByteString / Data.Binary.Get 问题
尝试使用 Data.Binary.Get 和 ByteString 但不明白发生了什么。我的代码如下: getSegmentParams :: Get (Int, L.ByteString) getSegmentParams = do …
如何在 Haskell 中将整数转换为字节字符串
我们希望以特定的二进制格式序列化数据。我们在内部使用Data.ByteString。 所以,问题是:如何将我们使用的不同数据类型转换为ByteString。对于String…
使用 Haskell 输出 UTF-8 编码的 ByteString
我试图简单地将 UTF-8 编码的数据输出到控制台,简直是疯了。 我已成功使用 String 完成此操作,但现在我想使用 ByteString 完成相同的操作。有没有一…
将映射的 ByteString 转换为其他类型?
我意识到这可能是一个相当异端的问题,但我想知道是否可以通过 System.IO.Posix.MMap 映射数据文件,然后将生成的 ByteString 转换为严格的数组其他类…