编码的初识

计算机存储文件,存储数据,以及将一些数据信息通过网络发送出去,存储发送数据什么内容?底层都是01010101.

我带着张珵穿越,1937,我俩研究电报:

真正密码本:

​ 滴滴 走

​ 滴滴滴 跑

第一版: 没有段位,

​ 101 今

​ 1101 晚

​ 1 吃

​ 11 鸡

1011101111

第二版:

​ 0000101 今

​ 0001101 晚

​ 0000001 吃

​ 0000011 鸡

0000101 0001101 0000001 0000011

密码本:01010110 二进制与 文字之间的对应关系。

最早起的密码本:

ASCII码:只包含:英文字母,数字,特殊字符。

0000 0001 : a

0000 0101 : ;

8bit == 1byte

'hello123': 8byte

gbk: 英文字母,数字,特殊字符和中文。国标

一个英文字母: 0000 0001 : a

一个中文 中: 0000 0001 0100 0001 : 中

Unicode: 万国码:把世界上所有的文字都记录到这个密码本。

​ 起初一个字符用2个字节表示:

0000 0001 0000 0011: a

0000 0001 0100 0001 : 中

后来为了涵盖全部文字:

0000 0001 0000 0011 0000 0001 0000 0011: a

0000 0001 0100 0001 0000 0001 0000 0011 : 中

浪费空间,浪费资源。

Utf-8:升级:最少用8bit1个字节表示一个字符。

​ 0000 0011: a 1字节

​ 0000 0011 0000 0011 欧洲 2个字节

0000 0011 0000 0011 0000 0011 中: 3个字节。

重点:

'中国12he' : GBK: 8个字节

'中国12he' : UTF-8: 10个字节

8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024TB = 1EB
1024EB = 1ZB
1024ZB = 1YB
1024YB = 1NB
1024NB = 1DB   

7.6MB ----> 7.6 * 1024kb * 1024byte * 8bit

上一篇:计算机基础知识回顾:原码、反码、补码、移码


下一篇:【JAVA】自己需要注意的几个运算符号