• Python基础之 一 字符编码及转换


    python2 / python3编码转换

    先上图一张:

    说明:python编码转换的流程是 先进行decode解码,然后进行encode编码

    解释:

    u'你好'  -->带u表示为unicode编码

    b'xc4xe3xbaxc3'   --> 带b的表示bytes类型
    由于utf8 是unicode的扩展,所以unicode和utf8之间是可以直接打印

    注意:所有decode动作都是将已编码文件解码为unicode,然后在进行其他编码格式转换(通过encode)

    直接举例说明:
    #python3下默认字符编码是unicode
    s = '你好'
    #将unicode直接转换为gbk
    s_gbk = s.encode('gbk')
    print(s_gbk)
    》b'xc4xe3xbaxc3' 这里输出的b代笔bytes类型
    print(s.encode()) 括弧内不带转换编码是默认转换为utf-8
    #以下是将gbk编码先解码成unicode,然后在编码成utf-8
    gbk_to_utf8 = s_gbk.decode('gbk').encode('utf-8')
    print(gbk_to_utf8)

    测试实例:
    python2 上把gb2312转为utf8,然后在转成gbk
    #coding:utf-8
    #这里默认是utf-8编码
    s = '你好'
    #先将汉字解码为unicode,然后编码为gb2312并打印
    s_to_gb2312 = s.decode('utf-8').encode('gb2312')
    #这里修改终端字符集为gb2312
    print s_to_gb2312

    #先将gb2312解码为unicode,然后编码为utf8并打印
    gb2312_to_utf8 = s_to_gb2312.decode('gb2312').encode('utf-8')
    #修改终端字符集为utf8
    print gb2312_to_utf8

    #先将utf-8解码为unicode,然后在编码为gbk
    utf8_to_gbk = gb2312_to_utf8.decode('utf-8').encode('gbk')
    #修改终端字符集为gbk
    print utf8_to_gbk

    python3 上把gb2312转为utf8,然后在转成gbk

    #注:如果这样:u'你好',这里的u代表这个为unicode编码
    s = '你好'
    #由于python3默认是unicode编码,所以直接编码为gb2312
    unicode_to_gb2312 = s.encode('gb2312')
    #将gb2312先解码为unicode,再编码为utf8
    gb2312_to_utf8 = unicode_to_gb2312.decode('gb2312').encode('utf-8')
    #将utf8解码为unicode,再编码为gbk
    utf8_to_gbk = gb23312_to_utf8.decode('utf-8').encode('gbk')
    打印如下:全部为bytes类型,bytes类型只显示编码格式
    b'xc4xe3xbaxc3'
    b'xe4xbdxa0xe5xa5xbd'
    b'xc4xe3xbaxc3'

    在上一张python3实例图解:

  • 相关阅读:
    架构设计
    Asp.net MVC突然变慢,缓存消失的一种原因
    B2C电子商务系统研发——商品SKU分析和设计(二)
    ASP.NET MVC下基于异常处理的完整解决方案
    【C#.NET】利用FastDFS打造分布式文件系统
    C#
    50个必备的实用jQuery代码段
    可视化组件库(The Visual Component Library)
    TortoiseHg 2.2.2
    企业信息开发平台
  • 原文地址:https://www.cnblogs.com/zy6103/p/6775057.html
Copyright © 2020-2023  润新知