计算机图像转化过程解析:从比特流到图像信息

目录

比特流数据

 从比特流到图像信息

编码翻译过程

聊聊编码:

详细转化流程举例:


比特流数据

首先,我们要先明白一点,由一串比特流数据可以组成图像信息

比特流数据呢,就是存储在计算机硬盘上的一系列二进制数,如果用代码表示,它一定是基本类型数组。用java语言来举个例子,char类型数组,每次从比特流中选8个数,组成一个数组元素;short类型数组,每次选16个二进制数,组成一个数组元素,int类型数组每次选32个,来组成自己的数组元素。

比特流数据可以简单直观的看成下面这个:由多个0和1组成的一串数据。

 从比特流到图像信息

电脑屏幕显示的像素一般用short类型表达,所以每次从比特流中取2个16bit(分别代表x,y坐标,通过坐标来指定某个像素点)3个8bit(控制红绿蓝亮度,组成这个像素点的实际颜色。1个8bit有排列组合256种,每个颜色的亮度范围为0~255,0表示不发光)来组成一个像素点,而后再取相同位数的数据来作为下一个像素点。这些像素点最终构成显示的各种图像。

其实,计算机内部预先存储了多个数组(数组内存储了相应的比特流数组),这些数组将“a,b,#”等字符在显示器上显示,当需要表示这些字符的时候,计算机调动这些数组来表示。

当然,计算机内也有可以表示以下图形的数组,数组内记录了各自对应图形的点阵

注意:计算机给显示器传输字符、图形时,传输的也是记录图形信息的数组。

“a、b、c”等不同字符需要的像素点个数不同,所消耗的比特点为像素点个数*56

假设,不同字符消耗的比特点数如下:

如果给显示器输入如下字符:

那么所需要的比特数就为:

编码翻译过程

刚刚我们介绍了比特流是如何转换成像素点,再转换成图像信息的,接下来我们来看看,在转化过程中的编码翻译过程:

计算机在显示图像时,数据一般由硬盘传输给内存再发给显示器

在内存中,存放的是编码,我们要在内存中 将编码翻译为要表示的字符再传输到显示器上(如果直接将编码传输到显示器上,显示器并不能识别,必须经过翻译后才能传输)。

我们知道:所有和流相关的数据都可以指定编码去解析。所以翻译时,我们可以自己指定用哪种编码去翻译,一般我们用utf-8编码比较多。

接下来呢,我们聊聊编码的知识

聊聊编码:

举个例子,看下面这张图,左边的是汉字,右面是其对应的编码。

整个的一套(包括所有汉字字符的对应关系)称为编码,如果只是一个字符的话,那就只能叫编码值。

对于同样的汉字不同编码库的对应的编码是不一样的,但是其对应的点阵的一样的,比如下面的例子就是三个不同的编码库对应的编码值;而对于数字,字母,标点符号等所表示的编码值是一样的(凡是能用ASCII编码表示的字符对应的编码值在不同编码里基本上都是一样的)

在同一编码库里,各个汉字的编码长度绝对是一致的(不一致前面用0补齐),不同的编码库不能翻译其他编码库的编码。否则就会出现乱码。

所以呢,这里我们可以明确一点,计算机里,所有的乱码都是由编码不匹配导致的

详细转化流程举例:

我们来举个简单的例子,大家都知道电脑的记事本,他生成和存储的是XX.txt文件,这个类型的文件在计算机硬盘里存储的是一堆二进制比特流(但这些比特流是根据特定的字符编码规则来组织的,以便能够表示和解释文本内容),当我们双击打开时,计算机会在内存中进行编码翻译,(根据文件所使用的编码格式)将比特流转换回相应的字符序列(在这一过程中,发生从比特流一次选取56个bit组成一个个像素点的过程)

由于记事本内部是short类型存储的,打开记事本时,会在内存里用char(对short类型数据)进行强制类型转换(这属于翻译过程),然后输出到显示器上,就可以看到各种汉字字符。

其他文本文件的存储原理也是一样,存储的是有着特定编码规则的比特流,每个文本文件头部一定先标记自己用的是哪种编码。然后打开时会用此种编码进行解析。

讲到这里,相必大家已经了解到了比特流到数据显示的过程,今天就导到这里,如有疑问,欢迎指出

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值