以前,建议我使用attoparsec来解析复杂的二进制文件格式。虽然我可以找到attoparsec解析HTTP的示例,它本质上是基于文本的,但我找不到解析实际二进制文件的示例,例如TCP数据包,图像文件或mp3。有人可以使用attoparsec发布一些代码或指向某些代码的代码吗?
答案 0 :(得分:8)
很少或没有用于解析二进制格式的attoparsec示例,因为parsec样式的组合子解析主要用于文本格式,而不是二进制格式(尽管没有充分的理由)。
对于直接二进制解析,请参阅Data.Binary,示例包括:
以及Real World Haskell中的示例。
目前attoparsec的主要示例是RFC2616解析器(HTTP)。