您的位置:首页 > 编程语言 > Python开发

python基础 & 字符编码

2020-03-11 12:17 148 查看
  • 各种编码由来

    ASCII : 不支持中文(一个字母一个字节:a/b/c)
  • GBK : 是中国的中文字符,其包含了简体中文和繁体中文的字符
  • Unicode : 万国编码(Unicode 包含GBK)
  • Unicode(每个字母需要用两个字节:a/b/c)

      存储所有字符串都用连个字节
    • Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语 言中的每个字符设定了统一并且唯一的二进制编码
    • 规定所有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536
    • 这里还有个问题:使用的字节增加了,那么造成的直接影响就是使用的空间就直接翻倍了
  • Utf-8 : 可变长码, 是Unicode 的扩展集

      UTF-8编码:是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类

    • ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存…

    • 存一个a字母用一个字节,存一个中文用三个字节

  • python2与python3的几个区别

      Python2默认 编码方式为ASCII, Python3 默认编码方式为UTF-8(是Unicode 的扩展集)
    • python2中字符串有str和unicode两种类型, python3 中字符串有str和字节(bytes) 两种类型
    • python3中不再支持u中文的语法格式
  • python2和python3中编码转换

      在python3中字符串默认是unicode所以不需要decode(),直接encode成想要转换的编码如gb2312
    • 在python2中默认是ASCII编码,必须先转换成Unicode,Unicode 可以作为各种编码的转换的中转站
  • is和==区别

      is不仅数据一样内存地址也一样
    • == 只判断数据和数据类型一样即可
    • 点赞 1
    • 收藏
    • 分享
    • 文章举报
    Hanmin_hm 发布了29 篇原创文章 · 获赞 1 · 访问量 674 私信 关注
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: