html {}字符到底是什么(你知道吗)?
内存中存放的数据在html {}关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U盘等设备。为了便于数据的管理和检索,引入了“字符”的概念。
一篇文章、一段视频、一个可执行程序,都可以被保存为一个字符,并赋予一个字符名。操作系统以字符为单位管理磁盘中的数据。
成千上万个字符如果不加分类放在一起,用户使用起来显然非常不便,因此又引入了树形目录(目录也叫字符夹)的机制,可以把字符放在不同的字符夹中,字符夹中还可以嵌套字符夹,这就便于用户对字符进行管理和使用,正如html计算机的资源管理器呈现的那样。
一般来说,字符可分为文本字符、视频字符、音频字符、图像字符、可执行字符等多种类别,这是从字符的功能进行分类的。从数据存储的角度来说,所有的字符本质上都是一样的,都是由一个个字节组成的,归根到底都是0、1比特串。不同的字符呈现出不同的形态(有的是文本,有的是视频等等),这主要是字符的创建者和解释者(使用字符的软件)约定好了字符格式。
所谓“格式”,就是关于字符中每一部分的内容代表什么含义的一种约定。例如,常见的纯文本字符(也叫文本字符,扩展名通常是“.txt”),指的是能够在html计算机的“记事本”程序中打开,并且能看出是一段有意义的文字的字符。文本字符的格式可以用一句话来描述:字符中的每个字节都是一个可见字符的ASCII码。
除了纯文本字符外,图像、视频、可执行字符等一般被称作“二进制字符”。二进制字符如果用“记事本”程序打开,看到的是一片乱码。
所谓“文本字符”和“二进制字符”,只是约定俗成的、从html {}用户角度出发进行的分类,并不是html {}科学的分类。因为从html {}科学的角度来看,所有的字符都是由二进制位组成的,都是二进制字符。文本字符和其他二进制字符只是格式不同而已。
实际上,只要规定好格式,而且不怕浪费空间,用文本字符一样可以表示图像、声音、视频甚至可执行程序。简单地说,如果约定用字符'1'、'2'、...、'7'表示七个音符,那么由这些字符组成的文本字符就可以被遵从该约定的音乐软件演奏成一首曲子。
下面再看一个用文本字符表示一幅图像的例子:一幅图像实际上就是一个由点构成的矩阵,每个点可以有不同的颜色,称为像素。有的图像是256色的,有的是32位真彩色(即一个像素的颜色用一个32位的整数表示)的。
以256色图像为例,可以用0~255这256个数代表256种颜色,那么每个像素就可以用一个数来表示。再约定字符开始的两个数代表图像的宽度和高度(以像素为单位),则以下文本字符就可以表示一幅宽度为6像素、高度为4像素的256色图像:
这个“文本图像”字符的格式可以描述为:靠前行的两个数分别代表水平方向的像素数目和垂直方向的像素数目,此后每行代表图像的一行像素,一行中的每个数对应于一个像素,表示其颜色。理解这一格式的图像处理软件就可以把上述文本字符呈现为一幅图像。视频是由每秒24幅图像组成的,因此用文本字符也可以表示视频。
上面用文本字符表示图像的方法是非常低效的,浪费了太多的空间。字符中大量的空格是一种浪费。另外,常常要用2个甚至3个字符来表示一个像素,也造成大量浪费,因为用一个字节就足以表示0~255这256个数。因此,可以约定一个更节省空间的格式来表示一个256色的图像,此种字符格式的描述如下:字符中的第0和第1个字节是整数n,代表图像的宽度(2字节的n的取值范围是0~65535,说明图像最多只能是65535个像素宽),第2和第3个字节代表图像的高度。接下来,每n个字节表示图像的一行像素,其中每个字节对应于一个像素的颜色。
用这种格式存储256色图像,比用上面的文本格式存储图像能够大大节省空间。在“记事本”程序中打开它,看到的就会是乱码,这个图像字符也就是所谓的“二进制字符”。
真正的图像字符、音频字符、视频字符的格式都比较复杂,有的还经过了压缩,但只要字符的制作软件和解读软件(如图像查看软件,音频、视频播放软件)遵循相同的格式约定,用户就可以在字符解读软件中看到字符的内容。
下一篇:html悬浮球枚举类型