zoukankan      html  css  js  c++  java
  • 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编码

  • 相关阅读:
    python学习
    当时的月亮 王菲
    谈谈写程序与学英语(转载)
    excel 列索引(数字)转列名
    爆款PHP面试题
    关于PDO取得结果集的数据类型为string的问题
    分享几款常用的API/文档浏览器
    php写错命名空间 导致catch不到异常
    iOS图片上传后被旋转的问题
    vi写完文件保存时才发现是readonly😂
  • 原文地址:https://www.cnblogs.com/god-for-speed/p/11108009.html
Copyright © 2011-2022 走看看