CSDN认证任务C1-01
前言:不得不说认证任务是挺好玩的^v^
任务一:用 0 和 1 绘图
存储图片底层逻辑自我理解:
1)首先存储图片的主要信心:尺寸、像素、色深等
2)块颜色由像素位数据存储
3)色深越高,位数越大,图像表达色彩越多
任务二:掌握进制编辑器
1.修改文本内容
TXT文本输入Joe,导入进制编辑器显示4a 6f 65,更改为4a 61 63 6b,导入TXT文本内容显示Jack
2.修改图片内容、
用截图工具截了一份纯灰png图片,识别其中数据块
1)文件头数据块:50 4e 47 0d 0a 1a 0a,表示PNG文件
2)IHDR:00 00 00 0d(数据域长度13) 49 48 44 52(IHDR) 00 00 00 7b(宽123像素) 00 00 00 70(高112像素) 08(2^8即256色深) 06(颜色类型为带α通道数据的真彩色图像) 00(压缩方法) 00(滤波器方法) 00(非隔行扫描) 3e 00 0f bc(CRC校验)
3)sRGB:00 00 00 01 73 52 47 42 00(查阅格式书,0表示感性,倾向适用色域牺牲精度,如照片) ae ce 1c e9
4)gAMA:00 00 00 04 67 41 4d 41 00 00 b1 8f(γ图像) 0b fc 61 05
5)pHYs:00 00 00 09 70 48 59 73 00 00 12 74 00 00 12 74(像素尺寸都是1274)
01 de 66 1f 78
6)IDAT:存储图像实际数据,这里不例举
7)IEND:00 00 00 00 49 45 4E 44 AE 42 60 82
然后对IDAT数据域中做更改,变为纯灰/纯白间格,最后创建一个PNG图像为全黑(其中IDAT涉及到LZ77解压缩,未深究)
拓展任务:修改游戏存档
1)导入存档文件,随意修改前4个字节,判断前4字节决定是否显示关卡,不影响关卡内容
2)还原前4个字节,修改04字节关卡显示出现,且为5-1,判断04字节决定关卡内容(十六进制转十进制即为关卡,例29(16)=41即为5-1,每一章节10个关卡)
funny修改前自己玩了一下,不得不说樱桃炸弹爆炸真爽
3)初始金币为,修改后,判断08-0b字节决定金币数,验证排列顺序如
4)继续随意修改0c-0f字节即可解锁其他模式
自测
1)110101010001=D51,4-bit二进制直接转十六进制比较快
2)101011.101011=43.671875
3)音频编码格式:MP3 AAC WMA WAV ATRAC PLAC OGG APE 视频编码格式:H264 MPEG-4 VC-1 MPEG-2
4)8×8png前四个字节:89 50 4e 47
5)Unicode编码按三字节编码转换到十六进制的UTF8编码的计算过程:
【中】Unicode编码十六进制为0x4e2d=0100 1110 0010 1101依次后序填入1110xxxx 10xxxxxx 10xxxxxx即可,即11100100 10111000 10101101
6)如果要提供一个实时的流媒体服务器,除了ffmpeg,还需要使用哪个组件:ffserver