首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么python 3中的in有不同的十六进制值?

为什么python 3中的in有不同的十六进制值?
EN

Stack Overflow用户
提问于 2019-07-30 01:06:51
回答 1查看 243关注 0票数 0

我正在将一些代码从python2.7转换到python 3,并且遇到了十六进制ints的问题。

代码语言:javascript
复制
    value = 0x11
    hexdump(value)
python2 output: 11
python3 output: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

这个十六进制函数是从替罪羊,并已为我的所有其他六角疑难解答工作。执行chr(0x11)会产生期望值,但是如果没有int类型,许多代偿函数就会被调用为崩溃。

我需要一个方法来获得11作为我的十六进制数据类型int。我试着用

代码语言:javascript
复制
    int(value,16) #also tried 0 and 10

这方面的问题是,我得到了ValueError:带有基数10:'\x11‘的int()的无效文本

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-30 01:22:34

0x11是python2和python3中的int。也许您的hexdump函数中有一些字符串处理出错了?字符串在python3中非常不同。

你能把hexdump()的代码贴出来吗

根据@Cukic0d下面的注释,如果您的hexbytes()实际上想要一个字节数组,这应该是工作的:hexdump(bytes([value])) --它将包含值的into的长度-1数组转换为bytes对象并将其传递给hexdump

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57263053

复制
相关文章

相似问题

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