首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pyasn1 prettyPrint() -以十六进制显示整数

pyasn1 prettyPrint() -以十六进制显示整数
EN

Stack Overflow用户
提问于 2017-04-03 23:55:09
回答 1查看 396关注 0票数 0

我有很多univ.Integer(),但是想用十六进制打印它们,它们很容易与基板的解码相关。

我该怎么做呢?

其中一个例子是

代码语言:javascript
复制
namedtype.NamedType('vendor-id', univ.Integer())
namedtype.NamedType('device-id', univ.Integer())
namedtype.NamedType('subven-id', univ.Integer())
namedtype.NamedType('subsys-id', univ.Integer())

任何漂亮打印的选项,这将把所有整数转换为十六进制?或者给univ.Integer做一些显示技巧的子程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-04 05:47:23

这样prettyPrint是没有选择的。不过,我可以给你两个想法。

如果您需要漂亮地打印特定的整数,而不是使用带嵌入式整数的整棵树组合对象,则只需使用hex()即可。

代码语言:javascript
复制
>>> Integer(123).prettyPrint()
'123'
>>> hex(int(Integer(123)))
'0x7b'

否则,您可以像这样修改pyasn1 Integer.prettyOut()方法:

代码语言:javascript
复制
>>> class MyInteger(Integer):
...     def prettyOut(self, value):
...         return hex(value)
... 
>>> MyInteger(123).prettyPrint()
'0x7b'
>>> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43196175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档