parsing - attoparsec 解析二进制文件格式的例子?

标签 parsing haskell binary

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .


3年前关闭。







Improve this question




之前有人建议我使用 attoparsec 来解析复杂的二进制文件格式。虽然我可以找到 attoparsec 解析 HTTP 的示例,它本质上是基于文本的,但我找不到解析实际二进制文件的示例,例如 TCP 数据包、图像文件或 mp3。有人可以发布一些代码或指向一些使用 attoparsec 执行此操作的代码吗?

最佳答案

解析二进制格式的 attoparsec 示例很少或没有,因为解析式组合器解析主要用于文本格式,而不是二进制格式(尽管没有充分的理由)。

对于直接二进制解析,请参阅 Data.Binary,示例包括:

  • haskell-amqp
  • haskell-bencode
  • haskell-ieee
  • haskell-dbus
  • haskell-elf
  • haskell-uuid

  • 以及 Real World Haskell 中的示例。

    目前 attoparsec 的主要示例是 RFC2616 解析器 (HTTP)。
  • http://bitbucket.org/bos/attoparsec/src/tip/examples/Parsec_RFC2616.hs
  • 关于parsing - attoparsec 解析二进制文件格式的例子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2437367/

    相关文章:

    forms - 带有页面流的 Yesod 表单

    C++将字符串输入的二进制转换为十进制

    parsing - 将字符串列表映射到对象的层次结构

    parsing - 如何使用 BNFC 定义 INI 文件语法?

    haskell - 与幺半群的冗余模式匹配

    windows - windows下依赖iconv构建Haskell程序

    ColdFusion:二进制值的 cfqueryparam

    c++ - 读取二进制文件到整数数组

    Python BeautifulSoup - 防止特定的模糊/损坏标签匹配

    mysql - 无法使用 JSON 解析 MySql 时间戳