ValueError:基为16的int()的文本无效

2024-04-26 20:17:12 发布

您现在位置:Python中文网/ 问答频道 /正文

从字符串到整数的转换有问题。 我有一个返回变量a = 00007fff`90492630的函数。此变量的类型为Unicode。这是我将用于通过pykd(windbg插件)安装断点的函数的地址。
在下一个函数中,我想使用int(a,16)将这个变量转换为int。 但我有一个错误:

ValueError: invalid literal for int() with base 16: '00007fff`90492630'

谢谢你的帮助


Tags: 函数字符串插件类型地址错误unicode整数
3条回答

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

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

字符串中有一个引号\勾号

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

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

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

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

相关问题 更多 >