进制和编码

进制和编码

1.python代码的运行方式

  • 脚本式

    python3 ~ 路径 / xx.py
    
  • 交互式

    terminal(pycharm下的终端)
    

2. 进制

计算机底层都是以01010101形式存在

  • 二进制

    25
    v1 =bin(25)  #十进制转二进制
    25=int("0b11001",base=2)  #二进制转十进制
    
  • 八进制

  • 23
    v1 =oct(23)  #十进制转八进制
    23= int("0o27",base=8)  #八进制转十进制
    
  • 十进制

  • 十六进制

  • 28
    v1 =hex(28)  #十进制转十六进制
    28=int("0x1c",base=16) 十六进制转十进制
    

    2.1 进制转换

    python中

    • 十进制是整型

    • 二、八、十六进制是字符串

    • 二进制和八进制无法直接转换

3.计算机中的单位

  • b(bit),位

    1 ,1位
    12, 2位
    123,  3位
    1234,  4位
    
  • B (byte),字节

    8位是一个字节
    
  • KB (kilobyte),千字节

  • 1024个字节就是1千字节
    1kb = 1024B = 1024 * 8b
    
  • M(megabyte),兆

    1024kb就是1M
    1M = 1024KB = 1024 * 1024 B = 1024 * 1024 * 8B
    
  • G(Gigabyte),千兆

    1024M就是1G
    1 G=  1024 M=  1024 *1024KB =  1024 * 1024 * 1024 B =  1024 * 1024 * 1024 * 8 b
    
  • T(Terabyte),万亿字节

    1024个G就是1T
    
  • …其他更大单位 PB/EB/ZB/YB/BB/NB/DB 不再赘述。

4. 编码

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

4.1 ascii编码

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

256种

4.2 gb-2312编码

gb-2312 1980年

gbk 1995年(中日韩等)

在与二进制做对应关系时,由如下逻辑

  • 单字节表示,用一个字节表示 256
  • 双字节表示,用两个字节表示 65536种可能性

4.3 unicode

万国码

  • Ucs2

    用固定的2个字节表示一个文字

    2**16=65536

  • Ucs4

    用固定的4个字节表示一个文字

    2**32=4294967296

unicode的应用:在文件存储和网络传输时,不会直接使用unicode,而在内存中会使用unicode。

4.4 utf-8 编码

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

中文在使用第三个模板(3个字节),在utf-8中占3个字节

4.5 python相关编码

4.5.1 字节

  • byte(字节)一般用于文件或网络处理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值