gpt4 book ai didi

python - 如何在Python中使用十六进制进行异或

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:54 26 4
gpt4 key购买 nike

假设我有一个 ascii 文本“Hello World”和一个十六进制字符串,我如何在 python 中对它们进行异或?

我知道这两个字符串必须采用相同的格式,但我不知道如何实现它。

最佳答案

根据“十六进制字符串”的具体含义,它应该很容易。例如:

>>> text=b'Hello World'
>>> hexi=b'\12\34\45\EF\CD\AB'
>>> xors=[ord(t)^ord(x) for t,x in zip(text,hexi)]
>>> xors
[66, 121, 73, 48, 42, 102, 11, 44, 54, 48, 37]

现在您必须决定如何表示这个小整数列表。 array.array 是最好的,或者作为字节串:

>>> b''.join(chr(x) for x in xors)
'ByI0*f\x0b,60%'

(在 Python 3 中,这将显示为前导 b,其中字节字符串和实际文本之间的区别更加清晰明确,但我在此显示的所有代码在 Python 中的工作方式相同2 和 3)。

关于python - 如何在Python中使用十六进制进行异或,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28036818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com