我有一些pyasn1
octect string对象定义如下:
LInfo.componentType = namedtype.NamedTypes(namedtype.NamedType('XXX', univ.OctetString().subtype(subtypeSpec=constraint.ValueSizeConstraint(2, 2)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0)))
当我使用pyasn.1
库对asn.1
进行解码时,它将值转换为其ascii表示形式,例如我得到“&/
”,但我需要以十六进制表示显示数值。例如,在本例中,我需要&/
,而不是&/
。
显然,我可以提取&/
或我在其中找到的任何东西并手动转换,比如:
但是我不能用这种格式把它写回字段。在
有没有一种简单的方法可以在打印之前操作对象,这样我就可以在最后的漂亮打印中看到262F
,而不需要修改{
您可以做的是将
OctetString
类的子类化,重写其prettyPrint
方法,然后向解码器注册新类。您的prettyPrint
返回的是最终打印出来的内容。在这是the original code。在
相关问题 更多 >
编程相关推荐