计算机如何存储数据
为什么要学编程基础
//因为你首先是程序员,其次才是前端
一个程序员需要指导:
- 硬件与软件的合作:计算机的运行原理(《编码》);
- 最大的软件:操作系统-windows ,Mac OS,LINUX(维基百科);
- 自己写软件:数据结构&算法(《数据结构与算法》),研究排序算法,背一遍;
- 多人写软件:软件工程(《代码大全》);
前端为什么要学编程基础
- 操作系统运行在硬件上;
- 浏览器运行在操作系统上;
- HTML/CSS/JS运行与浏览器之上;
- HTML/CSS/JS和数据都来自于服务器;
//防止成为井底之蛙!
计算机只能存0和1:
第一步:(内存)如何存储0和1?
电池-一排8位
存储:1就充电,0就不充电;
读取:电量大于50%就是1,电量小于50%就是0;
第二步 :如何存储数字
十进制变二进制-为了方便书写,一般会将二进制数写为十六进制数
//知识扩展,请自行了解:
//负数会以补码的形式存储;
//小数会以浮点数的形式存储;
第三步 :如何存储字符:
将每个字符编号
ASCII美国信息交换标准代码;
第四步 :如何存储中文:
GB 2312中国国家标准简体中文字符表;
微软推出 GBK字符集(国标扩展);
第五步:如何存储所有字符:
将全球字符编号
Unicode 字符集
总共128237个字符
第六步:UTF-8
UTF-8是一种编码方式,不是字符集;
现实问题 :
字符集问题-为什么有些古老的中文软件和网站喜欢GBK,不用Unicode;
编码问题-Javascript使用了Unicode字符集,但是没有使用UTF-8编码
//Javascript用了USC-2编码
//因为1995年UTF-16还没被发明出来,Javascript也不想使用UTF-32;
后果-ES5无法表示\uFFF之后的字符(如\u1D306),某些情况下会出现BUG;
Comments