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'
  • 相关阅读:
    android studio下生成jni头文件
    ndk编译android的lame库
    hbuilder在android手机里用chrome调试,只显示了设备名称,却没有inspect按钮
    mac下升级terminal/终端的subversion版本方法
    mac下编译optool方法
    ubuntu16.04 64位server安装php7
    Ubuntu系统启用Apache Mod_rewrite模块
    cakephp之查询
    Ubuntu 中搭建 LAMP 及 php 开发工具
    [JS]视频总结-第四部分_JavaScript案例-定时器的使用
  • 原文地址:https://www.cnblogs.com/yangyuqing/p/9790194.html
Copyright © 2011-2022 走看看