下载下来是个txt文件,可以正常打开,内容只有0和1,也不像是其他格式转过来的乱码。只有0和1好似是对应与二进制,至于怎么拓展到二维码,需要一点脑洞。
一、编写代码将0和1分别对应与白与黑
import matplotlib.pyplot as plt
with open("C:/Users/xxx/Desktop/1和0的故事.txt", "r") as f:
txt = []
for line in f.readlines():
curline = list(line.rstrip())
txt.append(curline)
print(txt)
data = []
for i in range(len(txt)):
tmp = []
for j in range(len(txt[0])):
tmp.append(int(txt[i][j]))
data.append(tmp)
print(data)
plt.imshow(data, cmap=plt.cm.binary)
plt.show()
得到
二、补全定位点
根据这张图片,在PS中补全上面二维码缺失的三个定位点。 扫描二维码得到flag。
三、感想
1. 读入txt文件到txt矩阵后,数据格式是字符,所以又有一个data矩阵将字符格式转成数字。
2. 为啥0对应白,1对应黑,好像是 plt.show那里默认的。 怎么反过来?我初步的想法是在创建data矩阵的时候所有数字加一,再对二取余。
3. MISC的题,还是需要点积累和脑洞吧。
python代码我都东拼西凑,凑活用。
|