Python中的ASN1和规范八位编码规则(COER)

Python中的ASN1和规范八位编码规则(COER),python,encoding,asn1,Python,Encoding,Asn1,我在ASN1中有一些消息数据结构表示。这些消息必须使用规范八分位编码规则(COER)发送。我目前使用asn1c进行python,但不支持coer。我如何创建实例并在以后使用python进行编码?恐怕您会遇到麻烦。COER看起来是最近才被标准化的(请记住ASN.1已经有30多年的历史了),我认为很多工具还并没有赶上 OSS Nokalva的工具似乎支持COER,但它们不进行Python绑定,而且它们的工具非常昂贵(但非常好) 对于Python来说,“goto”是pyasn1库,它似乎不做COER(

我在ASN1中有一些消息数据结构表示。这些消息必须使用规范八分位编码规则(COER)发送。我目前使用asn1c进行python,但不支持coer。我如何创建实例并在以后使用python进行编码?

恐怕您会遇到麻烦。COER看起来是最近才被标准化的(请记住ASN.1已经有30多年的历史了),我认为很多工具还并没有赶上

OSS Nokalva的工具似乎支持COER,但它们不进行Python绑定,而且它们的工具非常昂贵(但非常好)

对于Python来说,“goto”是pyasn1库,它似乎不做COER(甚至PER,这真是遗憾)

目标系统也是非常好的,现在可以实现a(这胜过pyasn1的代码优先方法),但这还不能实现COER


最简单的方法可能是whince,开发OSS Nokalva工具,并使用Iron Python与C#库和工具进行互操作。这似乎是一种昂贵的方法,但如果你的项目在固定的时间范围内,那可能是实现你想要的目标的风险最低的方法。您可能不必编写任何代码来“执行”COER,相反,您可以专注于应用程序本身,避免编写自己的COER实现,而这将是维护的一大难题,而且最终会被其他ASN.1工具超越。

你说的昂贵方式到底是什么意思?@NikosIliakis我的意思是,一个花费一些钱的软件工具最终可以为一个项目节省很多时间,因此,即使这个工具的价格很贵,也可以节省很多钱。如果一个项目的人力有限,但有预算购买工具,那么有限的人力将更有效地用于项目的其他部分。这不是“开源”的方式,所有东西都必须是免费的,但是如果你的项目不是开源的,那么购买一个商业工具是一个可行的方法。