【发布时间】:2017-12-02 09:34:46
【问题描述】:
如何将 lazy 字节串与另一个字节串(例如 "\r\n")分开?我正在寻找类似以下的功能:
BSL.ByteString -> BSL.ByteString -> [BSL.ByteString]
我知道breakSubstring,但该函数仅适用于严格的字节串。我也看到了这个question,但解决方案是使用严格的字节串。
【问题讨论】:
-
是在严格字节串之间进行转换,还是复制
breakSubstring的定义(它使用take和isPrefixOf可用于惰性字节串)是一个合适的解决方案? -
@user2407038 与 strict 相互转换不是一种选择。由于内存使用,我目前正在使用严格的字节串并尝试切换到惰性字节串。 breakSubString 函数使用了许多不适用于惰性字节串的
unsafeX函数。也许我可以使用正常的功能。
标签: haskell lazy-evaluation bytestring