按位函数和连接十六进制字符串

时间:2014-10-14 18:10:50

标签: python

我在python中测试了一些按位函数的功能。我想看看我是否可以连接hex" strings"作为转换后的整数,并在应用逻辑按位运算后保存为新的十六进制字符串。

def hst(self):
    ref = 0
    href = ['1b','1bfa','001','0010']
    for i in range(0,len(href)):
        if i > 0:
            ref = ref << len(href[i])*4
            ref = ref ^ int(href[i],16)
        else:
            ref = int(href[i],16)
    return hex(ref)

我期待1b1bfa0010010,但我得到fa0001010。 关于为什么以及如何解决这个问题的任何想法?正如我所说,我只是想了解这一切是如何运作的。我不想使用任何库,只包含没有import语句的内容。

它没有进行转变。我从print(hex(ref))看到了

shift: 0x1b00
xor: 0xfa
shift: 0xfa0000
xor: 0xfa0001
shift: 0xfa0001000
xor: 0xfa0001010

正在发生转变,但没有正确划线到正确的位置。

OMG Windows,你太烂了!我只在Windows中得到了错误的答案。 Linux它的工作原理。为什么Windows太吸引了?!谢谢你们的帮助!

0 个答案:

没有答案