• python学习DAY7(编码转码)


    Unicode默认中英文为2个字节,16位
    Unicode相当于编码的转码中介
    ASCII不可存中文字符
    utf-8(可变长):英文字符按照ASCII码
                  中文字符三个字节
    #打印系统默认编码
    import sys
    print(sys.getdefaultencoding())
    -------------------------------------------
    python2中:
    #若UTF-8转为GBK 默认编码为unicode
    则需要进行解码操作,先解成UNICODE(可显示中文),再编码为GBK
    s="你好"
    s_to_unicode=s.decode("utf-8")
    s_to_GBK =s_to_unicode.encode("GBK")
    ----------
    也可以这种写法
    s=u"你好"
    s_to_GBK=s.encode("gbk")
    #unicode 和 uft-8之间都可以打印显示
    --------------------------------------------
    python3中:默认是utf-8,声明为utf-8
    s="你好"
    s_to_gbk=(s.encode("gbk"))      #utf-8转为gbk,注意,必须要用变量存储新转化,否则原s不变
    s2=s.encode()                   #默认编码utf-8
    print(s_to_gbk)
    print(s2)
    s_to_utf8=s_to_gbk.decode("gbk").encode("utf-8")   #gbk转为utf-8:先解码为unicode,再编码为utf-8
    print(s_to_utf8)
    
    #总之:转码进行需要先进行decode成unicode再encode成所要的编码格式
     注意!文件编码为utf-8,则需要声明为utf-8格式,其他编码做法类似
     文件编码与程序运行所用的编码不同,程序运行所用的编码是默认的unicode,如上面的s仍然为unicode
     所以开始就只有encode,因为程序已经是unicode了,不需要再解码成unicode
     解码需要写上需要解码的原编码格式
    #总之,可以把程序的编译认为是unicode编码

  • 相关阅读:
    Vue 环境配置
    导入解决方案错误及其解决办法
    Dynamics 365创建用户提示:您正在尝试使用已由其他用户使用的域登录来创建用户。的解决办法
    iOS核心动画详解(CABasicAnimation)
    iOS核心动画详解(一)
    iOS 微信支付流程详解
    初探runtime
    iOS之block,一点小心得
    iOS scrollview循环播放加缩放
    用程序删除工程中多余的图片
  • 原文地址:https://www.cnblogs.com/god-for-speed/p/11108009.html
Copyright © 2020-2023  润新知