咱们的电脑, 存储和发送文件, 发送的是什么? 电脑里面是不是有成千上万个二极管, 亮的代表是 1, 不亮的代表是 0, 这样实际上电脑的存储和发送是不是都是 010101 啊
我们发送的内容都是 010101010 这样写的内容比较多就不知道是什么了, 所以我们想要明确的区分出来发送的内容就需要
在某个地方进行分段. 计算机中设定的就是 8 位一断句
1.1 ASCII
计算机:
储存文件, 或者是传输文件, 实际上是 010101010
计算机创建初期, 美国, 是 7 位一段, 但是发明者说为了拓展, 留出一位, 这样就是 8 位一段句. 8 位有多少种可能 ?256
密码本:
- ascii
- 00000001
- 01000001 01000010 01000011 ABC
随着计算机的发展. 以及普及率的提高. 流? 到欧洲和亚洲. 这时 ASCII 码就不合适了. 比如: 中? 汉字有几万个. 而 ASCII 多也就 256 个位置. 所以 ASCII 不行了. 怎么办呢? 这时, 不同的国家就提出了不同的编码用来适用于各自的语言环境. 比如, 中国的 GBK, GB2312, BIG5, ISO-8859-1 等等. 这时各个国家都可以使用计算机了.
1.2 GBK
GBK, 国标码占用 2 个字节. 对应 ASCII 码 GBK 直接兼容. 因为计算机底层是用英文写的. 你不支持英文肯定不行. 而英文已经使用了 ASCII 码. 所以 GBK 要兼容 ASCII. 这里 GBK 国标码. 前? 的 ASCII 码部分. 由于使? 两个字节. 所以对于 ASCII 码? 言. 前 9 位都是 0
字母 A:0100 0001 # ASCII
字母 A:0000 0000 0100 0001 # 国标码
随着全球化的普及, 发展到欧洲, 亚洲等国家, 发现这些根本不够用, 所以创建了万国码. 因为全球语言很多, ascii 不足以存储这么多对应关系, 创建了一个超级密码本: 万国码 unicode
8 位 == 1 个字节.
hello h 一个字符, e 一个字符, he 就不是一个字符.
中国: 中是一个字符, 国是一个字符.
1.3 Unicode
创建之初, 16 位, 2 个字节, 表示一个字符. 英文: a b c 六个字节 一个英文 2 个字节 中文 中国 四个字节 一个中文用 2 个字节
但是这种也不行, 这种最多有 65535 种可能, 可是中国文字有 9 万多, 所以改成 32 位, 4 个字节, 表示一个字符.
a 01000001 01000010 01000011 00000001 b 01000001 01000010 01100011 00000001 中 01001001 01000010 01100011 00000001 浪费资源.
1.4 UTF-8
对 Unicode 进行升级: utf-8 utf-8 用最少用 8 位数, 去表示一个字符. 英文: 8 位, 1 个字节表示. 欧洲文字: 16 位, 两个字节表示一个字符. 中文, 亚洲文字: 24 位, 三个字节表示.
utf-16 用最少用 16 位数.
gbk: 国标, 只能中国人自己用, 一个中文用 16 位, 两个字节表示.
1.5 单位转化
- 1byte = 8bit
- 1024byte = 1KB
- 1024KB = 1MB
- 1024MB = 1GB
- 1024GB = 1TB
- 1024TB = 1PB
- 1024PB = 1EB
- 1024EB = 1ZB
- 1024ZB = 1YB
- 1024YB = 1NB
- 1024NB = 1DB
常? 到 TB 就够了
来源: http://www.bubuko.com/infodetail-3186453.html