zoukankan      html  css  js  c++  java
  • python中的编码

    编码

    ascii码

                一个字符占8位,用一个字节表示
                A:00000010 8位 一个字节
    Unicode
       一个字符占32位,用四个字节表示
       A :00000000 00000001 00000010 00000100 32位 四个字节
       中:00000000 00000001 00000010 00000110

    utf-8
       A:00000010 8位 一个字节
       中:00000000 00000001 00000110 24位 三个字节

    gbk:
       A:00000010 8位 一个字节
       中:00000000 00000110 16位 两个字节

    注意:
              1. 各个编码的二进制不能互相识别,会产生乱码
              2. 文件的储存、传输,不能是Unicode (只能是utf-8/16/gbk/gbk2312/ascii码进行存储和传输)

              3. 字节是个单位,字符是看到的最小元素

    小数据池

    小数据池:创建范围之内的数字或者字符串共用一个内存地址,节省内存
    数字的范围:-5~256
    字符串范围:
    1. 不能含有特殊字符
    2. s*20还是同一个地址,s*21以后都是两个地址

    python3中
    字符串在内存中使用Unicode储存的
    bytes类型编码方式:utf-8,gbk,gb2313,ascii
    对于英文:
                    str:

                             表现形式 s='alex'
                             编码方式 010101010 unicode
                    bytes:

                             表现形式 s=b'alex'
                             编码方式 000101010 utf-8/gbk
    对于中文:
                             str:

                                    表现形式 s='中国'
                                    编码方式 010101010 unicode
                            bytes:

                                   表现形式 s=b'xe91e91e01e21e31e32'
                                   编码方式 000101010 utf-8/gbk....
    将str转换成bytes类型(传输和存储必须是bytes类型)

    s1='alex'
    s2=s1.encode('utf-8')
    print(s2) #b'alex'
  • 相关阅读:
    第02组 Beta版本演示
    2020系统综合实践8 大作业 智能门禁
    2020系统综合实践6 树莓派基本入门
    2020系统综合实践5 使用Dokcer部署Python运行环境
    2020系统综合实践4 Dokcer专题实践
    2020系统综合实践3 使用Docker Compose部署LNMP
    2020系统综合实践2 使用Dokcer部署Nginx和MySQL容器
    2020系统综合实践1 WSL 2的安装和基本使用
    2020系统综合实践1 VirtualBox下安装Debian踩坑小结
    团队第六次——beta冲刺日志集合
  • 原文地址:https://www.cnblogs.com/yangyuqing/p/9790194.html
Copyright © 2011-2022 走看看