有人可以帮助理解它在python(2.7.3版本)中的工作原理吗?
例如,有两个十六进制字符串
a='5f70a65ac'
b='58e7e5c36'
Run Code Online (Sandbox Code Playgroud)
我怎么能正确地测量它?
我试过用这样的东西hex (0x5f0x70 ^ 0x580xe70),但它不起作用
在尝试对它们进行数学运算之前将字符串转换为整数,然后再返回字符串.
print "%x" % (int(a, 16) ^ int(b, 16))
Run Code Online (Sandbox Code Playgroud)
我在%这里使用转换回字符串而不是hex()因为hex()添加0x到开头(L如果值是一个长整数,则结束).您可以将它们剥离,但更容易就是不首先生成它们.
你也可以在第一时间把它们写成十六进制文字:
a=0x5f70a65ac
b=0x58e7e5c36
print "%x" % (a ^ b)
Run Code Online (Sandbox Code Playgroud)
但是,如果您从文件中读取它们或从用户或其他任何方式获取它们,则第一种方法就是您所需要的.
| 归档时间: |
|
| 查看次数: |
1440 次 |
| 最近记录: |