猿问

如何将打印为 ascii 的 pyasn1 八位字节字符串漂亮打印为十六进制

我有一些pyasn1像这样定义的八位字节字符串对象:

LInfo.componentType = namedtype.NamedTypes(namedtype.NamedType('XXX', univ.OctetString().subtype(subtypeSpec=constraint.ValueSizeConstraint(2, 2)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0)))

当我解码asn.1usingpyasn.1库时,它将值转换为其 ascii 表示,例如我得到“ &/”,但我需要以十六进制表示显示数值。例如在这种情况下,而不是&/我需要262F. 显然我可以提取&/或我在那里找到的任何内容并手动转换它,例如:

value.asOctects().encode("HEX")

但后来我无法以这种格式将其写回现场。

有没有一种简单的方法可以在打印出来之前操作对象,这样我就可以262F在最终漂亮的打印件中看到而无需修改asn.1定义(我无法更改,因为它是给我的)?


米琪卡哇伊
浏览 193回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答