任务一:用’0’和’1’绘图
1.通过二进制画出喜欢的图形
我们由上图可以看出编码的前八位设置的是宽度,后八位设置的是高度,也就是高度5个像素,宽度8个像素。
由上图实验,0代表黑,1代表白,每一个二进制数代表一个像素
明白这个原理,我们就可来画一个CSDN,首先设置宽为29,高为12,接下来利用01画出CSDN
。
任务二:掌握进制编辑器
我们新建一个文本文件,在里面写上CSDN,保存后用进制编辑器打开
我们可以看到每一个字母,基本上都对应一个编码,那是不是每一个字符都有对应得编码呢!
这里我们把进制调为十进制显示,获取会有不同的发现
我们可以发现,C对应67,S对应83,D对应68, N对应78.
貌似有点像ASCII码,查询下ASCII码,发现一样的哦
那我们在ASCII码中找下其他的编码修改下文件,看最后的修改结果如何,如“Ae$”
结果正确。
接下来我们来试试二进制修改图片
我准备了一张8*8的纯白图片,十分的小,但是却可以将我们图片的内部编码都展现出来
这是打开后的编码,看到头有点晕了,所以我查了下PNG格式的编码,看到了一个博主总结得很不错
https://blog.csdn.net/weixin_45942479/article/details/117036148
由此我们可知道,红色框内为PNG文件的头标志,而黄色框内为IHDR问卷的数据块,0000000d说明IHDR头块长13,49 48 44 52IHDR标识,接下来就是IHDR的内容,绿色框和蓝色框代表的是图像的宽高,灰色的是IEND模块。