• day03-字符编码与转换


    1、编码常识

    • 在python 2中默认编码是 ASCII,而在python 3中默认编码是 unicode
    • unicode 分为utf-32 (占4个字节),utf-16(占两个字节),utf-8(占1-4个字节),所以utf-16 是最常用的unicode版本,但是在文件里存的还是utf-8,因为utf8省空间
    • 在python 3,encode编码的同时会把stringl变成bytes类型,decode解码的同时会把bytes类型变成string类型
    • 在unicode编码中 1个中文字符=2个字节,1个英文字符 = 1个字节,切记:ASCII是不能存中文字符的
    • utf-8是可变长字符编码,它是unicode的优化,所有的英文字符依然按ASCII形式存储,所有的中文字符统一是3个字节
    • unicode包含了所有国家的字符编码,不同字符编码之间的转换都需要经过unicode的过程
    • python本身的默认编码是utf-8

    在Python2.X中,默认编码是ASCII

    #-*- encoding:utf-8 -*-

    import sys

    print(sys.getdefaultencoding())  #打印当前默认编码

    s = '你好!!!'          

    s_to_unicode = s.decode('utf-8') #需要指定编码方式为utf-8(否则会使用默认编码)

    print(s_to_unicode)     #此时可以打印中文

    2、Python2.x  utf-8转换成gbk格式

    1 #-*- encoding:utf-8 -*-
    2 s = '你好!!!'           
    3 s_to_unicode = s.decode('utf-8') #需要指定编码方式为utf-8(否则会使用默认编码)
    4 s_to_gbk = s_to_unicode.encode('gbk')
    5 合成一句
    6 #s_to_gbk = s.decode('utf-8').encode('gbk')
    7 print(s_to_gbk)  

    3、Python2.x  gbk转换成utf-8格式

    1 #-*- encoding:utf-8 -*-  #属于文件编码
    2 s = '你好!!!'          #默认编码也是utf-8
    3 s_to_gbk = s.decode('utf-8').encode('gbk')
    4 gbk_to_utf-8 = s_to_gbk.decode(‘gbk’).encode(‘utf-8’)
    5 print(gbk_to_utf-8)

    4、Python3.x  unicode转换成gbk,gbk再转换成utf-8,utf-8转换成unicode

     1 s = '你好'     #python3 默认是unicode
     2 
     3 s_gbk = s.encode("gbk") #将unicode转换成gbk
     4 
     5 print(s_gbk)   
     6 print(s.encode())#默认解码成utf-8
     7 
     8 gbk_to_utf8 = s_gbk.decode('gbk').encode('utf-8')
     9 print(gbk_to_utf8)
    10 
    11 utf8_to_unicode=gbk_to_utf8.decode('utf-8')
    12 print(utf8_to_unicode)
    13 
    14 输出结果:
    15 utf-8
    16 b'xc4xe3xbaxc3'            #encode会将结果变成二进制编码
    17 b'xe4xbdxa0xe5xa5xbd'
    18
    b'xe4xbdxa0xe5xa5xbd'
    你好                          #decode会将结果变成字符
    
    
  • 相关阅读:
    07、从0到1:API测试怎么做?
    06、软件测试工程师的核心竞争力是什么?
    05、如何高效填写软件缺陷报告?
    04、你知道软件开发各阶段都有哪些自动化测试技术吗?
    03、为什么要做自动化测试?什么样的项目适合做自动化测试
    02、如何设计一个"好的"测试用例
    01、你真的懂测试吗?从"用户登录"测试谈起
    2020年03月15号--提升团队工作效率的一些方法
    01月02号总结
    ietester
  • 原文地址:https://www.cnblogs.com/Study-Blog/p/6580861.html
Copyright © 2020-2023  润新知