Python 3,将字符串转换为bytestring

时间:2014-01-19 13:03:45

标签: python python-3.x byte xor

我正在尝试创建一个函数,它将在python 3中对两个字节进行异或。这是有效的,我得到一个看起来像字节的字符串,但它说它不是字节(如果我打印它它没有它前面的b,如果我尝试用字节连接它,它会说你不能连接str和字节。)

当我尝试将其转换回字节时,由于某种原因它的长度翻倍。以下代码为例。如果我使用.encode()或bytes()并不重要,它的长度仍会增加。请帮助我,我希望它返回字节:)

def by_xor(x, y):
    l = len(y)
    s = ""
    for i in range(len(x)):
        s += chr(x[i] ^ y[i % l])
    return s

a = b'random text'
b = b'\xd2\xf1\x83\x99'

x = by_xor(a, b)
print(x)
print(len(x))

x = x.encode()
print(x)
print(len(x))

0 个答案:

没有答案