编程基础

前端也是程序员,如果你想在这条路上走的远, 编程基础十分重要

  • 计算机的运行原理
    // 作为前端来说,这是次要的,有兴趣可以深入学习,入门书籍推荐
  • 操作系统方面知识维基百科就好了
    //这是对于那些要写操作系统的同学而言的//维基百科会大致介绍很多基础的概念//防止你做前端第五年的时候,你会陷入一个瓶颈期,你能做的事情别人也能做到,你会缺乏深入的方向
  • 数据结构与算法分析
    //学前端数据结构是很重要的,有必要对排序算法有了解,了解算法的同时也能接触到结构
  • 软件工程是一个很大的学科,说白了就是多人一起写代码的时候,如何更有效率,老师推荐了<代码大全>这本书 // 这本书很重要~~~~~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

计算机就是二进制的世界

  • 计算机只能存零和一
    //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 的实现方式之一不是唯一。

你可能感兴趣的:(编程基础)