如何使用Haskell解析ASN.1输入?
有没有一个生成器能够为给定的ASN.1描述文件生成代数数据类型声明和解析器代码?
(例如,用于生成C代码的asn1c ...)
简要总结一下ASN.1的相关内容:
ASN.1类似于Google Protocol Buffers,但它是较早开发的,它是一个实际的标准。基本上,ASN.1定义了几种用于序列化分层结构化数据的方法和一种用于定义描述该结构的语法的语法。这样的语法可用于自动生成用于构建语法树的解析器和数据结构。
发布于 2013-12-29 13:10:10
您可以使用asn1-encoding包或asn1-parse包来解码二进制ASN.1,您可以使用模式匹配手动解析该包。
例如,下面的助手函数将把一个BER二进制文件解码成一个ASN1列表
import Data.ASN1.Encoding
import Data.ASN1.BinaryEncoding
import Data.ASN1.Types
import qualified Data.ByteString as B
decodeASN1File file = decodeASN1' BER `fmap` B.readFile file发布于 2012-10-19 03:11:40
对Hackage的快速搜索显示
http://hackage.haskell.org/package/language-asn1-0.2.1
这听起来可能是相关的。我真的不太了解ASN.1...
https://stackoverflow.com/questions/12961809
复制相似问题