python之编码与解码、is 与==的区别

一、编码与解码

   编码的过程其实就是采用一定的编码格式将unicode字符转换成str字符的过程

  非ASCII码字符按字节为单位被编码成十六进制转义字符

  解码采用的编码格式跟设置和环境有关

  ascii 码:

    不支持 中文

    支持 英文 数字 符号

    8位 一个字节

  gbk码 国标:

    支持 中文,英文,数字,符号

    英文 16位 二个字节

    中文 16位 二个字节


  unicode 万国码

    支持 中文,英文,数字,符号

    英文 32 位 四个字节

    中文 32位 四个字节


  utf-8 长度可变的万国码 最少用8位

    英文 8位 一个字节
    中文 24位 三个字节

  encode(编码方式) ---- 拿到明文编码后对应的字节

  decode(编码方式) -----将编码后的字节解码成对应的明文

二、is 与 == 的区别

  == 是比较值

  is 比较内存地址

    id() ---- 获取内存地址

  小数据池:

    数字的小数据池范围是 -5 ~ 256

  字符串:

    字符串中不能包含特殊符号 + - * / @ 等等
    字符串单个字符*20以内内存地址都是一样的,单个字符*21以上内存地址不一致

  注意: pycharm是个坑, 一个py文件中所有相同的字符串 一般都是使用一样的内存地址== 比较俩边的值

  

posted @ 2018-08-02 14:15  sado  阅读(155)  评论(0编辑  收藏  举报