攻防世界杂项新手入门 gif

攻防世界杂项新手入门 gif

  • 利用python读取图片
  • python的int()函数(将二进制数转换成ascii码)

  题目给了一个压缩包,解压后里面包含103张图片,都是只有黑色或者白色:
在这里插入图片描述
  一开始以为是要拼接图片,说不定是个二维码,后来……失败。看了题解说这个黑白很容易联想到二进制????(dbq是我太菜了)
  脚本如下:

white = open('C:/Users/cherish/Desktop/gif/gif/0.jpg', 'rb').read()
black = open('C:/Users/cherish/Desktop/gif/gif/1.jpg', 'rb').read()
#print(white)

flag = ''

for i in range(104):
    #path = "'C:/Users/cherish/Desktop/gif/gif/" + str(i) + ".jpg', 'rb'"
    color = open('C:/Users/cherish/Desktop/gif/gif/%d.jpg'%i, 'rb').read()
    if(color == white):
        flag += '0'
    else:
        flag += '1'

ans = ''
length = len(flag)//8
for i in range(length):
    ans += chr(int(flag[i*8: (i+1)*8], 2))

print(ans)

int函数的用法
int(num, base) 其中base指明的几进制

>>>int()               # 不传入参数时,得到结果0
0
>>> int(3)
3
>>> int(3.6)
3
>>> int('12',16)        # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制
18
>>> int('0xa',16) 
10 
>>> int('10',8) 
8
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值