前端也是程序员,如果你想在这条路上走的远, 编程基础十分重要
- 计算机的运行原理
// 作为前端来说,这是次要的,有兴趣可以深入学习,入门书籍推荐<CODE> - 操作系统方面知识维基百科就好了
//这是对于那些要写操作系统的同学而言的//维基百科会大致介绍很多基础的概念//防止你做前端第五年的时候,你会陷入一个瓶颈期,你能做的事情别人也能做到,你会缺乏深入的方向 - 数据结构与算法分析
//学前端数据结构是很重要的,有必要对排序算法有了解,了解算法的同时也能接触到结构 - 软件工程是一个很大的学科,说白了就是多人一起写代码的时候,如何更有效率,老师推荐了<代码大全>这本书 // 这本书很重要~~~~~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
计算机就是二进制的世界
- 计算机只能存零和一
//0100 0101... //这有可能代表一串字符,也可能是一个数字...不管是什么,对于计算机来说都是0和1的组合,所以编程语言才会出现数据类型,因为计算机要你告诉他,这一串0和1的组合,具体代表的意义 - 计算机具体是怎么样存储0和1 的呢?
//以下是内存的原理,和硬盘是有所区别的
存储: 1就是充电 0就是不充电
读取: 电量大于50%就是1 电量小于50%就是0
计算机是一次性存八位的,也就是一字节,可以代表2的七次方那么多个状态
每个可以被充电的晶体管,被充满点是纳秒级别的,因为晶体管是很小的,所以要在晶体管消耗完电之前不断充电,这就是赫兹
Unicode 和 utf-8的关系
- 由于历史原因,计算机出现很多套字符集,一旦跨语言使用,就会出现乱码很不方便,所以人们想出了一个办法:全世界共用一套,收集全世界语言的字符集,Unicode
- 由于Unicode,收录了全世界文字符号,所以他的编码长度非常的长,多达16位,这时候就出现一个问题了:
//字母I表示// I 00000000 01001001
//字母t表示// t 00000000 01110100
发现,这两个字母在Unicode里面有大量相同的,复合的位数,用计算机存储就得存很多没有意义的位数,浪费很多内存 - 为此人们发明了utf-8,它对Unicode字符集进行编码,减少位数,原来的I t就变成了
//字母I表示// I 01001001
//字母t表示// t 01110100
这样一来内存就大大节省了,而且传输的时候流量也省了不少 - 那么字符集有多个,编码规则肯定也有多个,对吧?没错//中国用的是GBK编码,专门为了中国设计,可以进一步省内存,省流量
总结
- Unicode 是「字符集」
- UTF-8 是「编码规则」
其中: - 字符集:为每一个「字符」分配一个唯一的 ID(学名为码位 / 码点 / Code Point)
- 编码规则:将「码位」转换为字节序列的规则(编码/解码 可以理解为 加密/解密 的过程)
- 记住:这里的关系是,UTF-8 仅仅是 Unicode 的实现方式之一不是唯一。