SEO只是外表
技术才是我的追求

python笔记2:二进制和编码

二进制

1位二进制可以表示21=2种状态:

 0,1

2位二进制可以表示22=4种状态:

 00,01
 10,11

3位二进制可以表示23=8种状态:

 000,001
 010,011
 100,101
 110,111

如此类推,越多的二进制位数可以表示越多状态或者数据。

ASCII编码

ASCII编码用8位二进制来表示不同的字符,那么总共可以表示28=256个字符。这是美国最早定制的字符表,没有中文字符。

ASCII表

常用就是数字和大小字母,帮助记忆:

48 》0 以此类推:49 》1,50 》2,51 》3,......
65 》A 以此类推:66 》B,67 》C,68 》D,......
97 》a 以此类推:98 》b,99 》c,100 》d,......

我们把8位的二进制称为一个字节。可以想象只有256字符一个字节的ASCII编码完全无法满足全世界那么多文字字符,光光中国汉字就有2万多个了(常用中文字符约6000个,全部中文字符约20000多个)。一种新的2个字节的编码Unicode应运而生,2个字节就是16位二进制相当于216=65536,基本可以囊括全世界的文字,所以Unicode编码也称为万国码。

Unicode是字符集,而没有编码方式,一种对字符集数字化。

UTF-8是对Unicode字符集的一种编码方式,为更好的存储和传输。

Unicode和UTF-8更加详细的区别可以看这里:Unicode和UTF-8之间的区别

更多编码的演化过程及其之间的关系可以看这里:https://www.zhihu.com/question/23374078 (讲述得很有趣)

计算机容量

 1位 = 1bit
 8bit = 1byte = 1字节 1个字节就是二进制的8位,ASSIC码中表示1个字符
 1024bytes = 1kbytes =1KB 1024个字符,小文档 ,几百k可以表示一张图片
 1024KB = 1Million Bytes = 1MB = 1兆 几万字的文档, 大图片
 1024MB = 1Gigabytes 一个清晰的电影,不是高清,高清能达到数10个g
 1024GB = 1TB
 1024TB = 1PB

解释型语言和编译型语言

编译型 = 全部翻译,再执行 ,翻译=编译 ;优点:执行速度快;编译型语言:c,c++

编译型语言

解释型 = 边执行边翻译;优点:跨平台,兼容性好;解释型语言:python,php,java,c#,perl, ruby,javascript

解释型语言

未经允许不得转载:棋哥SEO博客 » python笔记2:二进制和编码

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址