编程基础
为什么要学编程基础
因为你首先是程序员,其次才是前端。
一个程序员需要知道
1、硬件与软件:计算机的运行原理 《编码》
2、最大的软件: 操作系统 《维基百科》
3、自己写软件: 数据结构与算法 《数据结构与算法》
4、多人写软件: 软件工程 《代码大全》
计算机:二进制的世界
好奇心是探索的原动力,我们都知道与中国人打招呼要用“你好”,与美国人打招呼要用“hello”
与法国人打招呼要用“Bonjour”,那么我们该如何与计算机打招呼呢?
计算机只能存储0和1,所以想和计算机打招呼,就要用【1110 0100 1011 1101 1010 0000 1110 0101 1010 0101 1011 1101】
第一步:(内存)如何存储 0 和 1?

存储:1 就充电,0 就不充电
读取:电量大于 50% 就是 1,电量小于 50% 就是 0
第二步:如何存储数字
计算机只存 0 和 1,所以想要存储数字就要转换成二进制。
十进制变二进制 (转换成n1*2^x+n2*2^x的模式)
37(10)=3*10^1+7*10^0=32+4+1=1*2^5+0*2^4+0*2^3+1*2^2+0*2^1+1*2^0=100101(2)
知识扩充:
第三步:如何存储字符

将每个字符编号
ASCLL美国信息交换标准代码包含了数字字母等字符128个,但是没有汉字,所以我国就推出了GB2312中国国家标准简体中文字符集(包含6763个汉字及682字符)。
如果你想储存 a,那么就储存 9710 对应的二进制
a -> 0110 00012 -> 6116
如果你想储存 1,那么就储存 4910 对应的二进制
1 -> 0011 00012 -> 3116
第四步:如何存储中文

GB2312 共收录 6763 个汉字,同时收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的 682 个字符。
后来为了存储生僻字、繁体字、日语、朝鲜语等,微软推出了 GBK 字符集
第五步:如何存储所有字符
将全球字符编号
包括中日韩文字、藏文、盲文、楔形文字、 颜文字:-)、 绘文字😂
2016年6月时,Unicode 总共有 128237 个字符
第六步:如何将 Unicode 存到计算机里
以一种高性价比的方式
低性价比
a -> 00000000 00000000 00000000 011000012 = 006116
你 -> 00000000 00000000 01001111 011000002 = 4F6016
高性价比 UTF-8
a -> 01100001
你-> 11100100 10111101 10100000
第六步:如何存储unicode
截止到2016年6月时,Unicode 总共有 128237 个字符。在存储这么多字符的情况下,8位显然达不到要求,因此Unicode 使用了 4 个字节(32位)来存储一个字符。
比如存储a→1100001(2)→00000000 00000000 00000000 01100001
性价比非常低,于是UTF-8应运而生。
UTF-8不是字符集,而是一种编码方式。
00000000 00000000 0000000 01100001→01100001
编码方式:00000000 00000000 00000111 11111111→1101111110111111
扩展:Javascript使用了unicode字符集,却没有使用UTF-8编码。
【 因为JS 1995年诞生,而UTF-8 1999年诞生详情】
JS使用了USC-2编码,后果就是ES5无法表示\UFFFF之后的字符。
网友评论