C1任务01-进制与信息编码

任务一:用0和1绘图

在这里插入图片描述

任务二:掌握二进制编辑器

  1. 修改文本内容
    修改前
    在这里插入图片描述
    修改后
    在这里插入图片描述
    自己输入16进制得到pagy Pagy
    61H:a 7AH:z
    32D=20H
    在这里插入图片描述

    在这里插入图片描述
    2.将8 * 8纯黑png图片,改成8 * 8纯白png文件
    参考文献:https://blog.csdn.net/weixin_45942479/article/details/117036148
    举例分析:8*8纯黑图片用16进制编辑器打开如下所示
    在这里插入图片描述

    第一行,png文件头标志(8字节):

    	89 50 4e 47 0d 0a 1a 0a
    

    接下来是IHDR数据块:

    	00 00 00 0d表示IHDR头块长为13
    
    	49 48 44 52为IHDR标识十进制就是IHDR
    

    下面是IHDR数据块的实际内容

	00 00 00 08 图像的宽 8像素
	0000 0008图像的高 8像素
	08 表示色深,这里是2^8=256,即这是一个256色的图像
	06 颜色类型,查表可知这是带α通道数据的真彩色图像
	00 PNG Spec规定此处总为0(非0值为将来使用更好的压缩方法预留),表示使压缩方法(LZ77派生算法)
	00 PNG Spec规定此处总为0(非0值为将来使用更好的压缩方法预留),表示使压缩方法(LZ77派生算法)
	00 非隔行扫描
	c4 0f be 8b CRC校验字段

IEND数据块,居于最后

	00 00 00 00 49 45 4e 44 ae 42 60 82

将00 60对应的ff改为20后,纯黑图片变成如下所示
在这里插入图片描述

拓展:修改游戏存档

1.首先寻找游戏存档:一般游戏存档在c盘的programdata目录下,在此目录下找到popcap games
在这里插入图片描述
2.试玩两关后用16进制编辑器打开user1.dat文件,发现00 04 对应的数据在变化02代表的是1-2关,对应的十进制为2,结合百度每一大关有十个小关,因此5-1关对应的十进制是41,则对应的16进制为29,修改16进制编辑器得到5-1关卡,如下所示
在这里插入图片描述
在这里插入图片描述
00 08到00 0b列表示金币数量,它会乘以10,将金币改为10000,对应的16进制是3e8(注意写成03e8)
00 0c表示游戏模式的解锁,把他改为1就行了
在这里插入图片描述

自测

  • 110101010001转十六进制是多少?有什么最快的计算方法能得到结果?
D51,拆分成3组,每四个为一组,利用8421每4个累加,成从左到右排列
需要注意的是,若是小数形式,则从小数点开始,分别向左右两边,左侧不足4位,在左侧补0;右侧不足4位,在右侧补0:
  • 101011.101011对应的十进制数是多少?
(2^5 * 1 + 2^4 * 0 + 2^3 * 1 + 2^2 * 0 + 2^1 * 1 + 2^0 * 1) + (2^-1 * 1 + 2^-2 * 0 + 2^-3 * 1 + 2^-4 * 0 + 2^-5 * 1 + 2^-6 * 1) 
= 43.671875
89 50 4e 47
  • UTF-8三字节的编码方式为: 1110xxxx 10xxxxxx 10xxxxxx;汉字【中】的Unicode编码十六进制值是0x4e2d,Unicode编码按三字节编码转换到十六进制的UTF-8编码的计算过程是什么?

参考文献:https://blog.csdn.net/wangwenan1993/article/details/45559369

已知中文“许”的utf-8编码为11101000,10101110,10111000
提取第一个字节的后四位1000,对应16进制为8
提取第二个字节的2~5位1011,对应16进制为b
提取第二字节的6~7和第三字节的2~3位1011,对应16进制为b
提取第三个字节的最后4位1000,对应的16进制为8
因此对应的Unicode编码为/u8bb8

反过来计算汉字“中”的utf-8编码为11100100,10111000,10101101
  • 如果要提供一个实时的流媒体服务器,除了ffmpeg,还需要使用哪个组件?
ffserver
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值