gpt4 book ai didi

haskell - 如何用 Haskell 解析 ASN.1?

转载 作者:行者123 更新时间:2023-12-02 15:46:54 24 4
gpt4 key购买 nike

如何使用 Haskell 解析 ASN.1 输入?

是否有一个生成器能够为给定的 ASN.1 描述文件生成代数数据类型声明和解析器代码?

(例如 asn1c 用于生成 C 代码...)

ASN.1 的简​​要概述:

ASN.1 就像 Google Protocol Buffers,但开发得更早,并且是一个实际的标准。基本上,ASN.1 定义了几种用于序列化分层结构数据的方法以及用于定义描述结构的语法的语法。这样的语法可以用来自动生成解析器和数据结构来构建语法树。

最佳答案

您可以使用 asn1-encoding 解码二进制 ASN.1包,您可以使用模式匹配手动解析它,或者 asn1-parse包。

例如,以下辅助函数会将 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

关于haskell - 如何用 Haskell 解析 ASN.1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12961809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com