为了账号安全,请及时绑定邮箱和手机立即绑定

ValueError: int() 的无效文字,基数为 16

ValueError: int() 的无效文字,基数为 16

慕斯王 2022-07-26 21:45:36
我在从字符串转换为整数时遇到问题。我有返回变量的函数a = 00007fff`90492630。此变量具有 Unicode 类型。这是我将用来通过 pykd(windbg 的插件)安装断点的函数的地址。在下一个函数中,我想将此变量转换为int,使用int(a,16). 但我有这个错误:ValueError: int() 基数为 16 的无效文字:'00007fff`90492630'谢谢你的帮助!
查看完整描述

3 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

如果您需要删除代码中的勾号,您可以执行以下操作:


a = '00007fff`90492630'

b = int(a.translate(str.maketrans({'`':""})), 16)

print(b)


查看完整回答
反对 回复 2022-07-26
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

尝试使用 pykd.expr 它将任何 windbg 常量/符号/表达式转换为 64 位长值

如果要获取函数的偏移量,请使用 pykd.getOffset(func_name) 而不是 dbgCommand('x ' + func_name )


查看完整回答
反对 回复 2022-07-26
?
喵喔喔

TA贡献1735条经验 获得超5个赞

你的字符串中有一个单引号\tick。


删除它时,您会得到以下输出:


>>> int("00007fff90492630", 16)

140735614101040


查看完整回答
反对 回复 2022-07-26
  • 3 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号