编码:字符串对应的计算机中二进制的值。
显示器视觉信息由屏幕组成,屏幕由像素点组成,像素点由坐标、光学三原色(红绿蓝,组成所有颜色)、亮度,下图表示横向2800个像素点,纵向1800个像素点,缩放就会清晰
像素点给我们的视觉信息有:颜色、形状、亮度,颜色不一样就能凸显出形状
坐标:包含两个数字:x,y,一般都是几千,用short类型就行
颜色:由三个数字表示,(x,y,z),每个都是0-255,用byte类型就行,计算机底层都是用汇编和c写的,有 无符号类型,加上无符号标记,byte就能是255了
亮度:能用颜色的三个数顺带表示,比如,1:2:3和10:20:30颜色一样,数值越大亮度越高,所以三个数字既能表示颜色也能表示亮度
所以坐标、三原色、亮度用五个数字就能表示,eg:(225,345,23,45,32),前两位是short类型,后三位是byte类型,那么用56bit就能表示一个像素点。
像素点是四四方方的(三原色的叠加态),一个个排列组成屏幕,类似于
然后我们要给屏幕传递一些比特信息,每次会读56比特,先读出前32bit,就是两个坐标,后面24bit代表三原色和亮度,这样就读出一个像素点,然后往后56bit56bit的读,就能显示出一个形状,如
(只是举例,不是真的)
像字母汉字什么的,计算机里有形状库,如这些形状(文字也属于形状)有这些比特点对应,把它们对应的比特点输入到屏幕上,屏幕上就能显示出来
假设有112000个比特点记录五角星,24000比特点记录六边形。56*150记录”你“,56*120记录“a",56*146记录”b",那么如果在显示器上显示十个“你”,5个“a",5个“b”,就需要比特点56*150*10+56*120*5+56*146*5个,这样存储十分消耗存储。
所以给每个形状加个4bit的代号,如假设五角星的代号为0001,六边形的代号为0010...
于是每次显示时放代号,每次只读4bit,匹配到是谁,就在屏幕上放谁,节省了存储
那么这个代号,就是编码,实际上没有四位的编码,最短的就是ascii编码,有8位。计算机内部有对应的比特点,编程的时候,char类型内存中只存形状的编码值(01数字),显示给我们的时候是比特点,所以char类型的变量可以比大小。