我在网上寻找答案,但似乎没有一个能以我的方式解决我的问题(我知道,我很挑剔:D)。
事情是这样的:我使用字符串类型来存储两个十六进制数字,因为 python 中的默认整数类型对于我的目的来说不够长。例如这样:
S1 = "315c4eeaa8b5f8aaf9174145bf43e1784b8fa00dc71d885a804e5ee9fa40b16349c146fb778cdf2d3aff021dfff5b403b510d0d0455468aeb98622b137dae857553ccd8883a7bc37520e06e515d22c954eba5025b8cc57ee59418ce7dc6bc41556bdb36bbca3e8774301fbcaa3b83b220809560987815f65286764703de0f3d524400a19b159610b11ef3e"
S2 = "234c02ecbbfbafa3ed18510abd11fa724fcda2018a1a8342cf064bbde548b12b07df44ba7191d9606ef4081ffde5ad46a5069d9f7f543bedb9c861bf29c7e205132eda9382b0bc2c5c4b45f919cf3a9f1cb74151f6d551f4480c82b2cb24cc5b028aa76eb7b4ab24171ab3cdadb8356f"
关键是,这些应该是数字,但它们存储在字符串中。我想要做的是将这两个字符串视为数字,对两者执行按位异或,然后以类似的形式获得输出 - 存储在字符串中的十六进制数字。
我对编程相当陌生,甚至对Python也比较陌生,所以我无法找到一种方法来做到这一点。我不仅仅是在寻找脚本,我还想了解它是如何工作的,所以请详细解释,因为我是个菜鸟:D。
Python can将你的价值观保存为数字。
看看这个作为证明,
>>> hex(int(S1, 16))[2:-1] == S1
True
我只是调整字符串,删除'0x'
从一开始和L
从最后。
为了得到你的答案,你需要做的就是,
hex(int(S1, 16) ^ int(S2, 16))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)