二进制字符串长度8至ASCII

时间:2019-01-28 20:36:03

标签: python

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

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

<encryption_algorithm>:<key>:<message>

示例:caesar:42:01110010 10001111 10010110 10010110 10011001

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

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

1 个答案:

答案 0 :(得分:1)

我不会为您做作业,但是我可以给您提示:

011100100 * 2**0 + 1 * 2**1 + 0 * 2**2...

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

12345677 * 10**0 + 6 * 10**1 + 5 * 10**2

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