拓展任务

先通过搜索引擎了解bmp⽂件数据格式的特征
再⽤截图⼯具截⼀幅8×8⼤⼩纯⽩⾊的bmp图⽚
然后⽤⼆进制编辑器观察bmp图⽚⽂件数据的规律
重复上述步骤,摸清规律后,在⽩底上⽤⿊⾊线条「画」出字⺟「C」

使用QQ截图工具,截取一张8x8的bmp格式图片,

用Hex Editor Neo打开 "8x8纯白.bmp",可以看到这个文件的全部数据如下图所示:

1.位图文件头(BITMAPFILEHEADER)

位图文件头分4部分,共14字节:

名称

占用空间

内容

实际数据

bfType

2字节

标识,就是“BM”二字

BM

bfSize

4字节

整个BMP文件的大小

0x00000136(310)【与右键查看图片属性里面的大小值一样】

bfReserved1/2

4字节

保留字,没用

0

bfOffBits

4字节

偏移数,即 位图文件头+位图信息头+调色板 的大小

0x36(54)

注意,Windows的数据是倒着念的,这是PC电脑的特色。如果一段数据为50 1A 25 3C,倒着念就是3C 25 1A50,即0x3C251A50。因此,如果bfSize的数据为36 01 00 00,实际上就成了0x00000136,也就是0xC00136。

2.位图信息头(BITMAPINFOHEADER )

位图信息头共40字节:

名称

占用空间

内容

实际数据

biSize

4字节

位图信息头的大小,为40

0x28(40)

biWidth

4字节

位图的宽度,单位是像素

0x200(512)

biHeight

4字节

位图的高度,单位是像素

0x200(512)

biPlanes

2字节

固定值1

1

biBitCount

2字节

每个像素的位数

1-黑白图,4-16色,8-256色,24-真彩色

0x18(24)

biCompression

4字节

压缩方式,BI_RGB(0)为不压缩

0

biSizeImage

4字节

位图全部像素占用的字节数,BI_RGB时可设为0

0x0C

biXPelsPerMeter

4字节

水平分辨率(像素/米)

0

biYPelsPerMeter

4字节

垂直分辨率(像素/米)

0

biClrUsed

4字节

位图使用的颜色数

如果为0,则颜色数为2的biBitCount次方

0

biClrImportant

4字节

重要的颜色数,0代表所有颜色都重要

0

作为真彩色位图,我们主要关心的是biWidth和biHeight这两个数值,两个数值告诉我们图像的尺寸。biSize,biPlanes,biBitCount这几个数值是固定的。想偷懒的话,其它的数值可以一律用0来填充。

调色板地址图像的调色板地址从00000036h开始存储

图像的颜色地址从00000036h开始到00000135h结束
                                                                                 
photoshop中调色板显示为:ff 00 00(分别表示 红 绿 蓝),Hex Editor Neo 中 00 00 ff 00 表示红色,前三位分别表示 蓝 绿 红,第四位没有影响颜色。
photoshop中调色板显示为:00 00 ff(分别表示 红 绿 蓝),Hex Editor Neo 中 ff 00 00 00 表示蓝色。证明两者刚好是倒过来的。

如下图所示,

我用框的颜色 代表 三个字节所代表的颜色

用绿色画一个C字

将16进制全部复制到文本编辑器里面,按8x8像素排列好,更方便修改。
根据前面的试验结果,ff ff ff ff 修改为00 ff 00 ff就可以变为绿色。最后按照c的样式进行排列。

from:https://blog.csdn.net/aidem_brown/article/details/80500637

⾃测

1101 0101 0001转⼗六进制是多少?有什么最快的计算⽅法能得到结果?
解答:
每四位表示一个十六进制,答案是b51

101011.101011对应的⼗进制数是多少?
解答:
整数部分:1*2^5+0*2^4+1*2^3+0*2^2+1*2^1+1*2^0=43
小数点后:1*2^-1+0*2^-2+1*2^-3+0*2^-4+1*2^-5+1*2^-6   =0.671875
43+0.671875=43.671875
常⻅的⾳频编码格式有哪些?
答:aac,MP3,wma
常⻅的视频编码格式有哪些?
答:H.261、H.262、H.263、H.264、H.265、MPEG
⼀个尺⼨8×8⼤⼩的png全⿊图⽚前四个字节的⼗六进制值是什么?
10001001 01010000 01001110 01000111对应
89 50 4e 47
UTF8三字节的编码⽅式为:1110xxxx 10xxxxxx 10xxxxxx,汉字【中】的Unicode编码⼗六进制值是0x4e2d,Unicode编码
按三字节编码转换到⼗六进制的UTF8编码的计算过程是什么?

答:

4e2d分别是 0100 1110 0010 1101
依次填入1110xxxx 10xxxxxx 10xxxxxx(假设是从左到右0-7位)(假设是从左到右 1-3字节)
第一个字节4-7位:0100第二个字节的2-5位:1110第二个字节6-7位和第三个字节2-3位 :0010第三个字节4-7位:1101插入后得到 11100100 10111000 10101101
转换为16进制为:edbaa4
form:https://blog.csdn.net/wangwenan1993/article/details/45559369
解题思路参考如下:
UNICODE uCA(1100 1010) 编码成UTF-8将需要2个字节:
uCA C3 8A, 过程如下:
uCA(1100 1010)处于0080 ~07FF之间,从上文中的转换表可知对其编码需要2bytes,即两个字节,其对应 UTF-8格式为: 110X XXXX 10XX XXXX。从此格式中可以看到,对其编码还需要11位,而uCA(1100 1010)仅有8位,这时需要在其二进制数前补0凑成11位: 000 1100 1010, 依次填入110X XXXX 10XX XXXX的空位中, 即得 1100 0011 1000 1010(C38A)。
同理,UNICODE uF03F (1111 0000 0011 1111) 编码成UTF-8将需要3个字节:
u F03FEF 80 BF,对应格式为:1110XXXX 10XX XXXX 10XX XXXX,编码还需要16位,将1111 0000 0011 1111(F03F)依次填入,可得 1110 1111 1000 0000 1011 1111(EF 80 BF)。
UTF8文件协议里有更详细说明
如果要提供⼀个实时的流媒体服务器,除了ffmpeg,还需要使⽤哪个组件?

答:ffmpeg和ffserver配合使用可以实现实时的流媒体服务。

任务01-信息编码:纯⽩⾊的bmp图⽚ 用Hex Editor Neo画一个“C相关推荐

  1. 为什么python画不了图-python-为什么pygame不画一个圆?

    我对pygame几乎一无所知,所以我无能为力了--但是我认为您在做的事总是使自己陷入困境.试试看: pygame.init() screen = pygame.display.set_mode((64 ...

  2. 修改开机LOGO图片教程及注意事项/通过C++实现bmp图位深度从32位转换为8位

    修改开机LOGO图片教程及注意事项/通过C++实现bmp图位深度从32位转换为8位 文章目录 修改开机LOGO图片教程及注意事项/通过C++实现bmp图位深度从32位转换为8位 修改开机LOGO图片教 ...

  3. 【音视频数据数据处理 7】【RGB/BMP篇】生成24色 RGB24图 和 BMP图

    [音视频数据数据处理 7][RGB篇]生成一张24色 RGB24图 和 BMP图 一.生成24色 RGB24图代码实现 二.生成24色 BMP图代码实现 先上24色图,及其对应的RGB值. 本文地址: ...

  4. Css 如何使纯颜色/背景图自适应的铺满全屏

    摘要 他喵的我觉得一般就是三种需求: 1.纯颜色 解释:即只有background-color,没有图 需求:应至少充满一个视窗,如果内容超出一个视窗,自适应填充.比如知乎首页. 2.背景图 需求很动 ...

  5. linux bmp图片应用编程,在Framebuffer下编程显示BMP图象 分享

    http://yaos.blog.sohu.com/20240931.html 今天看别人的代码,知道可以使控制台进入图形模式,这样SHELL程序的显示就不会影响BMP图像的显示了.于是,COPY过来 ...

  6. 使用PS在32位的BMP图上增加ALPHA通道,使得解码BMP时出现透明效果

    如果图片是16位或者是24位先使用PS存储为32位的BMP图片,然后将使用ps的魔棒工具点中整个BMP图,按键盘上的DELETE键会弹出一个填充的对话框,在"使用"旁边的下拉列表中 ...

  7. 消防管件做的机器人图片_报废消防器材变身“机器人” 由消防官兵纯手工打造(图)...

    原标题:报废消防器材变身"机器人" 由消防官兵纯手工打造(图) 由报废的消防零配件组成的机器人模型. 厦门网讯 (厦门日报记者林路然通讯员阙凤芳曾德猛)远看好似变形金刚,凑近还会说 ...

  8. 使用Highcharts来画一个简易的甘特图

    前端组件 – 甘特图 由于在项目中需要画一个基于时间的对比甘特图,但缺乏前端知识,便在网上寻找相关插件或者已有代码. 文章目录 前端组件 -- 甘特图 前言 一.Highcharts? 二.使用 1. ...

  9. python画折线图详解-python如何画折线图

    python画折线图利用的是matplotlib.pyplot.plot的工具来绘制折线图,这里先给出一个段代码和结果图:# -*- coding: UTF-8 -*- import numpy as ...

最新文章

  1. 计算机和网络知识,计算机和网络技术基础知识
  2. python实现md5加密_Python实现md5加密验证访问接口总结
  3. 概述SharePoint 2007
  4. Linux的简单介绍.
  5. cocos2d-x游戏实例(11)-触屏主角移动轨迹
  6. yum安装mysql5.6
  7. JavaScript(八)—— PC 端网页特效
  8. UML之一综合设计例题
  9. python Tricks —— list 镜像复制、list of lists 的 flat
  10. whose view is not in the window hierarchy
  11. 防火墙转发流量的原理
  12. [转载] 计算机端口详解
  13. gRPC Mock Server
  14. ELEMENT UI中关于上传图片el-upload控件删除(同时删除后台图片信息)
  15. html怎样调节字间距,css怎么调整字间距?
  16. 26个音序的正确写法和占格_26个音序表怎么读(拼音音序表的正确写法)
  17. java技术面试总结评语,成长路线图
  18. 旅游攻略小程序毕业设计毕设作品开题报告答辩PPT
  19. Ubuntu16.04系统安装搜狗输入法教程
  20. 2021年高新技术企业认定时间及条件出来了,全国28省

热门文章

  1. Python爬虫:给我一个链接,虎牙视频随便下载
  2. thinkPHP6报错:Failed to listen on 0.0.0.0:8000 (reason: һַȨ޲“
  3. 一般看不见的机械原理
  4. JetBrains提示“No suitable licenses associated with account ”
  5. 计算机硬盘硬盘共享如何设置,两台电脑如何共享文件夹?Win10设置共享文件夹或共享磁盘的方法...
  6. python音频 降噪_python降噪_python音频降噪_python图片降噪 - 云+社区 - 腾讯云
  7. excel 文件加密
  8. 解决springboot无法访问此网站,localhost 拒绝了我们的连接请求的问题。
  9. 自己总结的linux命令
  10. 目标检测 YOLOv5 - 模型的样子