所以我想在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})')