C认证任务C1-01

任务一:用[0]和[1]绘图

  • 在code.org上注册账号,完成与计算机像素相关的系列任务 (https://studio.code.org/s/pixelation)
  • 先通过二进制的0和1 [画] 出一个图形进行分析:

在这里插入图片描述
我们选择Binary二进制编码,将图像宽度和高度都设置为4,通过图片和二进制编码,可以发现,每一个方块代表着一个二进制位。并且二进制1代表着白色方块,二进制0代表着黑色方块

  • 尝试画出自己的名字
    在这里插入图片描述
  • 彩色像素
    在这里插入图片描述

首先我们设置一个方格,选择每个像素的位数为24位,这也是RGB颜色标准,即每个像素红色、绿色、蓝色三个分量表示,设置每个像素的位数为24位,代表红、绿、蓝各占8位,我们知道每个二进制位可以取0或者1,那么8个二进制位组合能够有2的8次方,即256种组合,红黄蓝分量合成颜色就有256×256×256种。

我们在rbg颜色对照表中选择一个颜色分别用16进制编码和2进制编码来测试一下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 二进制存储图片文件底层原理:由上面的测试可以知道,每一个像素是可以通过二进制值表示出来的,图片文件存储实际上存的就是每一个像素对应的颜色值,同时还要存储文件类型、文件大小、图片宽度、图片高度等信息

任务二:掌握进制编辑器

  • 安装Hex Editor Neo
  • 新建txt 写入hello world,然后用编辑器打开
    在这里插入图片描述
    在这里插入图片描述
    对照ASCII码表,在编辑器内修改数据并保存,然后打开txt看是否变化
    在这里插入图片描述
    在这里插入图片描述
  • 修改图片内容:截一张8x8的png的白色图片,然后用编辑器打开
    在这里插入图片描述
    根据PNG文件的定义,从文件头开始的前8个字节数据是PNG文件的定义
    在这里插入图片描述
    下面是PNG文件数据块结构:
    在这里插入图片描述
十六进制值含义
00 00 00 0d文件头数据长度
49 48 44 52数据块类型标志,即IHDR
00 00 00 08图像宽度
00 00 00 08图像高度
08表示256色
02表示索引图像
00使用Deflate压缩编码压缩图像数据
00为将来使用更好的压缩方法预留
00非隔行扫描
4b 6d 29 dcCRC字段

对png文件进行修改,发现更改后,图片变成黑色
在这里插入图片描述
在这里插入图片描述

扩展:修改游戏存档

  1. 用二进制编辑器修改《植物大战僵尸》的存档文件,能跳到指定关卡。
  2. 用二进制编辑器修改《植物大战僵尸》的存档文件,让游戏账户有指定数量的金币。
  3. 通过二进制编辑器修改存档文件,能解锁《植物大战僵尸》的[迷你游戏]选项。
  4. 通过二进制编辑器修改存档文件,能解锁《植物大战僵尸》的[生存模式]选项。

跳到指定关卡:
首先我们找到C盘中植物大战僵尸游戏存档:
在这里插入图片描述
选择显示隐藏的项目,然后可以看到ProgramData文件夹,进入之后点击PopCap Games,打开里面的PlansVsZombies中的userdata
在这里插入图片描述
用编辑器打开user1.dat
在这里插入图片描述
在这里插入图片描述
经过测试,发现第一行04列是控制冒险模式的关卡,十六进制0c表示十进制12,因为植物大战僵尸每个大关卡有10个小关卡,所以12代表2-2关。那么我想设置为第4-1关,十进制表示是31,转换成16进制数也就是1f
在这里插入图片描述
在这里插入图片描述
修改金币数量:

目前的金币数量是16140
在这里插入图片描述
通过收集金币让金币数量变为16230

在这里插入图片描述
通过对比可以发现第一行的0809列控制金币数量。并且16140和16230的最高两位不变,同时09列也没有变,所以09列控制的是最高两位,064e转换成10进制为1614,0657转换为10进制为1623,那么将金币数量转换为19100,对应的第一行0809列应改为:7607
在这里插入图片描述
在这里插入图片描述

生存模式解锁:
现在我的生存模式已经是解锁的,但当我将第一行的0c列修改为00时,生存模式变为没有解锁,再修改为01,发现生存模式成功解锁

自测

  • 110101010001转十六进制是多少?
    答:转16进制为d51
  • 101011.101011对应的十进制数是多少?
    答:43.671875
  • 常见的音频编码格式有哪些?
    答:PCM、WAV、MP3
  • 常见的视频编码格式有哪些?
    答:AVS、RMVB
  • 一个尺寸8×8大小的png全黑图片前四个字节的十六进制值是什么?
    答:89 50 4e 47
  • 如果要提供一个实时的流媒体服务器,除了ffmpeg,还需要使用哪个组件?
    答:ffserver
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值