如何使用python将字节转换为二进制



所以我想在python中将字节转换为二进制,但当我运行它时,结果中没有任何字节,我得到了错误:

"NoneType"对象不可迭代

这是我尝试的代码

//func biner
def biner(password):
print(password)
password[0]
for my_byte in password:
print(f'{my_byte:0>8b}', end=' ')

//func to use the result from func biner
def skalar(key, biner):
if len(key) <= key_bytes:
for x in range(len(key),key_bytes):
key = key + "0"

jumbin2 = len(key)
print(jumbin2)

jumbin = biner
print(biner)

hasilenkrip = ''
for a in jumbin:
hasilenkrip += a * jumbin2

print(hasilenkrip)

//how i called the func
enc = b'lx87x87xe6'
ky = maru
tes = biner(enc)
tes1 = skalar(ky, tes)
print(tes1)

您的函数当前返回None,因为没有return语句。也许不应该使用print,而应该修改函数以返回输出数组。

我怀疑你的想法是这样的。

#  //func biner
def biner(password):
print(password)
password[0]
return ' '.join(f'{my_byte:0>8b}' for my_byte in password)
#     //func to use the result from func biner
def skalar(key, biner):
if len(key) <= key_bytes:
for x in range(len(key),key_bytes):
key = key + "0"
jumbin2 = len(key)
print(jumbin2)
jumbin = biner
print(biner)
hasilenkrip = ''
for a in jumbin:
hasilenkrip += a * jumbin2
return hasilenkrip

#     print(hasilenkrip)
#     //how i called the func
enc = b'lx87x87xe6'
ky = maru
tes = biner(enc)
tes1 = skalar(ky, tes)
print(tes1)
some_bytes = int(input('Enter bytes: '))
print(f'{some_bytes>>4:04b}{some_bytes&0xf:04b} ({some_bytes})')

最新更新