Python 二进制字符串长度8到ASCII

Python 二进制字符串长度8到ASCII,python,Python,对于我的初级Python课程,我得到了以下作业: 编写一个按以下格式解密消息的程序: <encryption_algorithm>:<key>:<message> :: 示例:caesar:42:011110010 10001111 10010110 10010110 10011001 消息编码为长度为8的二进制字符串,必须转换为ASCII。这些消息可以使用Caesar和Vigenère加密对数。不允许使用内置功能int(n,2)。提示:读取输入文件时使用

对于我的初级Python课程,我得到了以下作业:

编写一个按以下格式解密消息的程序:

<encryption_algorithm>:<key>:<message>
::
示例:
caesar:42:011110010 10001111 10010110 10010110 10011001

消息编码为长度为8的二进制字符串,必须转换为ASCII。这些消息可以使用Caesar和Vigenère加密对数。不允许使用内置功能int(n,2)。提示:读取输入文件时使用string.split()。首先解析输入文件


我真的不知道从哪里开始。写一个函数将二进制数转换成小数,反之亦然?写一个凯撒解密和加密代码?

我不会为你做这个作业,但我能做的是给你一个提示:

011110010
0*2**0+1*2**1+0*2**2…

每个位需要乘以2的适当幂,就像基数10:

1234567
7*10**0+6*10**1+5*10**2

您可能需要一个循环,但在此之前,您需要使用作业中给出的提示。。。
您可以使用
帮助(str.split)
如果您对此有问题

您可以按照您想要的顺序执行。实现每个步骤的函数,然后将它们全部放在一起,形成最终的程序。首先将二进制字符串转换为ascii(),然后对结果运行解密算法。@Primusa这个问题有没有不使用
int(n,2)
解析二进制数的答案?这里不允许他们使用它。请参阅——特别是关于询问现有实现的特定问题的指导。如果您没有现有的实现(因为您正试图找出从何处开始),堆栈溢出不适合您的问题。另请参阅,另请参阅。