零基础学python day04 进制和编码

零基础学python day04 进制和编码

1.python代码的运行方式

  • 脚本式
  • 交互式

2.进制

计算机中底层所有数据都是以01010的形式存在

2.1进制转换

零基础学python day04 进制和编码
25
bin(25) 十进制转换为二进制 “0b11001” 字符串形式存在
oct(25) 十进制转换为八进制 “0o27” 字符串形式存在
hex(25) 十进制转换为十六进制 “0x1c” 字符串形式存在

int(“0b11001”,base = 2) 二进制转换为十进制
int(“0o27”,base = 8) 八进制转换为十进制
int(“0b1c”,base = 16) 十六进制转换为十进制

3.计算机中的单位

  • b(bit) ,位 几个二进制
  • B(byte), 字节 8位是一个字节
  • KB(kilobyte) 千字节 1024个字节
  • MB(Megabyte) 兆字节 1024KB
  • GB(Gigabyte) 千兆字节 1024MB
  • TB 万亿字节
  • PB/EB/ZB/YB/BB/NB/DB

4.编码

编码:文字和二进制之间的一个对照表

4.1ascii编码

ascii规定用1个字节表示字母与二进制的对应关系

4.2 gb-2312编码

gb 2312编码,由国家信息标准委员会制作(1980年)
gbk编码,对gb2312进行拓展,包含了中日韩等文字(1995年)

4.3 unicode

Unicode也称万国码,为全球每个文字都分配了一个码位(二进制表示)

  • Ucs2 用两个字节表示一个文字
  • Ucs4 用4个字节表示一个文字

4.4 utf-8编码

utf-8实质上是对unicode的压缩,用尽量少的二进制去与文字进行对应
规则:

Unicode UTF-8
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx
10000 - 10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

“武” -> 6B66 -> 0110 1011 0110 0110
根据模板套数据
1110xxxx 10xxxxxx 10xxxxxx
11100110 10101101 10100110

4.5 python相关的编码

字符串(str)
字节(byte) 用于问及那或网络处理

name = "水饺"
data = name.encode("utf-8")

#打开一个文件
file_object = open("log.txt",mode="wb")
#在文件中写内容
file_object.write(data)
#关闭文件
file_object.close()

运行结果
零基础学python day04 进制和编码

上一篇:Vue 中小数点格式化


下一篇:子类的toString方法如何打印父类的属性?