一、显示器原理
显示器显示的画面由亮度、形状、颜色三部分组成。画面是由一个个像素点组成的,一个像素点由56bit存储,前32bit存储X和Y坐标的位置,后24bit存储颜色与亮度。一个画面中由很多个像素点组成,这些像素点会在计算机代码中以数组形式存储,然后每个数组会有对应的编码,当要显示一个画面时,计算机中存储的是这个画面的编码数字,首先会找到编码对应的数组,然后通过数组找到对应的0101比特流,最后通过计算机内部电压传输显示在显示器上。
光学三原色:rgb(0-255) 按照比例表示,例如:r:g:b=1:2:3的亮度>r:g:b=10:20:30;能代表颜色和亮度,每一个颜色8bit表示
r:g:b=255:255:255 表示白色
二、记事本原理
实际上就是一个编码转文件再转编码的过程。首先记事本根据文件头部找到确定该文本的编码类型,然后将文件中的编码信息到对应的编码库进行解码,解码后得到的信息就会放到内存中在屏幕中显示出来
三、输入法原理
首先接收键盘输入的数据,然后在编码库中找到对应的关系,显示相关联的字符,接受字符,找到该字符的编码,存入字符的编码
四、编码
1、编码的由来
一个像素点需要56bit,那屏幕上显示一个字符至少需要上万个比特点,这对计算机来说需要的存储空间是很大的。如果一个数据以short存储,则每次读16bit转成十进制然后存入数组,该数组按照一定规则进行编码成数字,存入电脑,这样做可以不用每次在计算机中存储很多的比特点,只需要存编码数字,然后在编码库找到对应的字符显示在屏幕上,这样既能方便存储,也能给计算机节省空间。
2、常见的编码:欧美:ASCII(8bit)、中国:unicode(16bit,Java默认)、gbk(16bit)、utf-8(32bit)
五、java中实现查看数字的编码
public class Seecode {
public static void main(String []args) {
int[] arr = {239,3456,1235,7896,32,45,765,4532};
for(int i=0; i<arr.length; i++){
char x = (char)arr[i];
System.out.println(x);
}
}
}