【问题标题】:How to use "BinaryString.uncons()" but with a type distinct from Word8? [closed]如何使用“BinaryString.uncons()”但类型不同于 Word8? [关闭]
【发布时间】:2020-02-27 16:54:11
【问题描述】:

我有一个二进制字符串。我想把它分成头和尾。最接近的候选人来自bytestring 是:

uncons :: ByteString -> Maybe (Word8, ByteString) 

但我想拆分它,例如,头部的类型为 Word16 而不是 Word8。或Word32。或者别的什么。

我该怎么做?

【问题讨论】:

  • 您可以使用takesplitAt 等来提取所需的字节数,如果成功,则对它们应用您想要的任何解码。
  • 如果ByteString 只有一个字节会怎样?
  • @WillemVanOnsem 我定义它是什么
  • 如果你选择任何一个合理的可能答案来澄清这个问题,这个问题实际上是否会有很大的不同?
  • @DonHatch 我不记得当前没有出现的任何 cmets。如果您跳过 tarin 的 cmets,评论线程看起来非常合理/可以理解/与我相关——或者至少,不会比 SO 的标准差。至于 tarin 的 cmets,好吧,我认为他们是在故意煽动/混淆,尽管我只能猜测到什么目的。在我看来,这当然不是让志愿者为您提供更多帮助的有效方式。

标签: haskell binary-data


【解决方案1】:

有许多可用的反序列化库。对于听起来与您的心智模型特别接近的人,请查看binary's Get。给出所有可用列表的大列表实际上并不在范围内,但是快速搜索 Hackage 应该会给您提供许多其他选择。

【讨论】:

  • 什么库?只有一个图书馆是体面的,仅此而已
  • 对不起,你不能骗我做一个大名单,即使是在这种迂回的方式。做你自己的跑腿工作。
猜你喜欢
  • 2014-10-17
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
  • 2010-11-16
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多