Unicode编码, 字节, 进制转换, 颜色编码

进制转换基础

进制转换基础,也可看另一篇笔记

字节,unicode,进制转换

  • 计算机存储单元, 一个字节由8位2进制数表示, 每个2进制数表示0或1, 所以8位2进制数可以表示的不同数字一共是 2^8 = 256个, 分别对应(0-255).

  • unicode编码是2字节16位一个字符(中英文都是), 2字节一共是2^16 = 65536种数字, 对应(0-65535)

  • 虽然unicode是2进制存储, 但字符编码一般却用16进制表示, 16进制转2进制基础看上面链接, 简单说就是一个16进制字符代表4位2进制数字, 所以unicode编码一般这样表示0x45fc,其中0x是16进制标识符,4,5,f,c4个数字分别表示一个4位的2进制数, 怎么转换看上面转换基础

颜色编码,进制转换

  • 颜色编码有两种形式 rgb(233,233,233) 与#D3C455, 其中第一种的三个数字分别对应红,绿,蓝, 三原色的点亮程度, 取值范围是0-255,0为完全不亮,255为该颜色充分点亮

  • 所以rgb(0,0,0)对应黑屏幕,因为所有颜色都不亮起来, 所以rgb(255,255,255)为白色,因为所有颜色都亮起来了,屏幕就白了

  • 根据刚才的经验我们知道0-255可以用8位2进制数保存,我们又知道8位2进制数可以 -> 2个4位2进制数 -> 2个16进制数字.

  • 于是以00为初始, FF(1516^1 + 1516^0=255)为最终可以表示一个三原色的饱和程度, 于是有了#D3C455这种16进制表示法,每两个16进制数代表一个三原色的饱和程度,从rgb()方式向#16进制方式实现转换.

一道面试题

border中最后一个参数表示颜色,它是16进制,白色为(#FFF),那(#F60)怎么推算是什么颜色?

  • 首先#FFF = #FFFFFF, #F60=#FF6600, 相当于蓝色全暗掉了, 绿色从全亮变成了只有不到一半亮, 那么我们要的颜色应该是( 红 + 不怎么绿的绿 )
image.png

好吧, 就是这种基佬橙...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在网络中,经常会用到16进制数字的就算,而大部分的情况是转换为10进制数字.在这里给出快速计算的方法,让你快速的进...
    f675b1a02698阅读 9,656评论 1 3
  • 1、概念简介 子网掩码子网掩码又叫网络掩码、地址掩码,是一个32位地址,用于屏蔽IP地址的一部分以区别网络号和主机...
    黒猫阅读 7,717评论 0 23
  • 它是一座古老的城吗 它是神的殿堂 它是民族的首都 它是宗教的圣地 它是全世界的历史 它是天下人的憧憬和想象 千秋万...
    蕙清阅读 406评论 24 16
  • 似乎发现,熬夜是长大的一种标志。 最近越来越接近和习惯这种状态,总是在深夜越发的清醒,大脑会飞速的转动,关掉手机躺...
    一支尤加利阅读 207评论 0 0
  • ——南柯一梦 蜗牛 如果 不能和我喜欢的人在一起 那就不去期盼 没有希望,就没有悲伤 如果 不能和我喜欢的人在一...
    蜗牛娃阅读 270评论 2 3