day02 进制之间的转换and计算机编码叙述

时间:2024-04-19 21:05:32

一. 进制的转好技巧 

二进制:0 1

八进制:0 1 2 3 4 5 6 7

十进制:0 1 2 3 4 5 6 7 8 9

十六进制:0 1 2 3 4 5 6  7 8 9 A B C D E F

二进制转换成十进制: 0 1 1 0 = 十进制6

二进制转换成八进制:每三位二进制数对应一个八进制 例如:110 = 八进制6

二进制转换成十六进制:每四位二进制数对应一个十六进制 例如:1111 = 十六进制F

二. 计算的编码叙述

ASCII: 英文+数字+标点+特殊字符 一共编码了128个. 最早的是7bit => 8bit计算机网络传输的时候单位是字节 1byte => 8bitascii第一位是0

ANSI: 一个标准。GBK: 国标码的扩展码  16bit 2byte  65536个 主要是放中文  一定兼容ascii, 现在大家的windows默认就是GBK

GBK: 国标码的扩展码 ,所有的 中文都是以两个字节的方式进程存储。

unicode 万国码:万国码主要由ISO国际标准组织提出来的,虽然兼容所有国家的语言,但是造成了资源浪费,也就是说之前存储一个英文只需要一个字节的,使用万国码以后存储一个英文需要四个字节,因此又产生了别的编码,但是一般内存交互的时候依然是使用unicode编码。主要是因为字符集的统一。

utf8: 可变成字符存储,存储英文一个字节就可以,存储中文至少三个字节。目前用的最广泛的一个编码

utf16:存储一个字符时至少需要两个字节,目前很少用到。

utf:可变长度的unicode, 弥补了浪费的空间.
utf-8:
英文: 8bit 1byte
欧洲: 16bit 2byte
中文: 24bit 3byte

python中默认使用的字符串就是unicode
进行网络传输和文件存储必须要转化成utf-8或者gbk

如何把字符串转化成utf-8

encode(编码) => 使用编码格式对文字进行编码
decode(解码) => 把bytes变回字符串