目录
1.题目
有一个文本文件,编码与调制.txt:
密文:2559659965656A9A65656996696965A6695669A9695A699569666A5A6A6569666A59695A69AA696569666AA6
2.分析
这道题目考察曼彻斯特编码
关于了解曼彻斯特编码比较好的文章有:文章1
就是将密文转化为2进制的字符串,然后根据相近两位是‘01’还是‘10’来分配‘1’和‘0’
3.解题
解题代码如下:
import libnum
a = 0x2559659965656A9A65656996696965A6695669A9695A699569666A5A6A6569666A59695A69AA696569666AA6
b = bin(a)[2:]
flag = ''
for i in range(0, len(b), 2):
if b[i:i+2] == '10':
flag = flag + '1'
else :
flag = flag + '0'
print(flag)
ans = int(flag, 2)
print(libnum.n2s(ans))