将ASN.1值表示法解析为Python对象或JSON,而不需要其ASN.1模式。

asn1vnparser的Python项目详细描述


asn1vnparser

https://img.shields.io/pypi/v/asn1vnparser.svghttps://img.shields.io/travis/mtannaan/asn1vnparser.svgDocumentation Status

将ASN.1值表示法解析为Python对象或JSON,而不需要其ASN.1模式。在

特点

  • 将ASN.1值表示法解析为Python对象或JSON字符串
  • 不需要ASN.1架构

限制

  • 由于不使用模式知识,可能会误判ASN.1类型;请参阅类型转换部分。在
  • 不支持某些ASN.1类型和语法;请参阅语法.py. 在

类型转换

asn1vnparser执行以下类型转换:

ASN.1 TypePython TypeJSON TypeExample (ASN.1 -> Python)
NULLNonenullNULL -> None
BOOLEANboolTrue/FalseTRUE -> True
INTEGERintnumber (int)3 -> 3
REALfloatnumber (real)0.1 -> 0.1
BIT STRING (^1)bitarray.bitarraystring (e.g. “010101”)‘010101’B -> bitarray.bitarray(‘010101’)
OCTET STRING (^1)bytesstring (e.g. “0123ab”)‘0123AB’H -> b’x01x23xab’
cstring (PrintableString, etc.)strstring“foobar” -> ‘foobar’
ENUMERATEDstrstringany-identifier -> ‘any-identifier’
CHOICEDict[str, Any]{“string”: (any JSON object)}alt1 : 123 -> {‘alt1’: 123}
Open Type (e.g. type field)Dict[str, Any]{“String”: (any JSON object)}Type1 : 123 -> {‘Type1’: 123}
empty SEQUENCE or SEQUENCE OF{} (empty dict){} (empty object){} -> {}, [] -> {}
SEQUENCEdictobject{f1 val, f2 1} -> {‘f1’: ‘val’, ‘f2’: 1}
SEQUENCE OFlistarray[1, 2, 3] -> [1, 2, 3]
OBJECT IDENTIFIERList[int]array of number (int){1 2 3} -> [1, 2, 3]

(^1)CONTAINING (some_value)被简单地解释为(some_value),例如:

{
    field1 123,
    field2 CONTAINING {
        field2-1 TRUE,
        field2-2 FALSE
    }
}

解析为以下Python对象:

^{pr2}$

学分

此包是用Cookiecutteraudreyr/cookiecutter-pypackage项目模板创建的。在

历史

0.2.0(2019-10-02)

新功能

  • 值或值赋值的部分解析(parse_all选项)
>>>parse_asn1_value(..."alt1: enum1\n---this is remaining string---",...as_json=True,...parse_all=False)# as_json('{"alt1": "enum1"}','\n---this is remaining string---')
  • 分析多个值分配
>>>parse_asn1_value_assignments(...'value1 INTEGER ::= 1\nvalue2 Type2 ::= the-value')[{'value_name':'value1','type_name':'INTEGER','value':1},{'value_name':'value2','type_name':'Type2','value':'the-value'}]

错误修复

  • 当给定--json选项时,CLI不再崩溃。在
{id10}$

0.1.0(2019-09-29)

  • PyPI的第一个版本。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使图像以正确的速度在屏幕上移动,以适应所有显示   内存Java分配:从预先存在/分配的池中分配对象   java这种书写方式?   Java正则表达式查找字符串的开头   java是否可以创建一个类来处理安卓中的所有日志代码(例如log.d(TAG,message))   如何使用Selenium和java单击WebTable任意页面上的WebElement   java解析字符串中的文件名   java刷新JTree内容   java如何覆盖RequestMappingHandler   爪哇数石头、布、剪刀赢了多少   struts中的java无效令牌   swing JTree,优化算法,Java   java Tomcat和SSL:密钥库格式无效