• 12.字符编码


    字符编码转换

    不论在python2上还是python3的环境当中,转换步骤都是一样的。我们都要以unicode为中心,来回转换。 gb2312是gbk的以前的版本。gbk使我们windows默认的字符集。

     

    步骤:

    1.先告诉unicode我们本身的编码集。

         decode('本身的编码集')

    2.此时我们的编码集就转换成了unicode。

    3.我们在从unicode转换成我们想要转换的编码。

        encode('要转换的编码集')

     

    例子:

    我们分别在2.6和3.5上来实验编码问题

    vim 2.6

    #!/usr/bin/python.bak

    a = '你好'

    print a

     

    [root@a ~]# chmod +x 2.6

    [root@a ~]# ./2.6

      File "./2.6", line 2

    SyntaxError: Non-ASCII character 'xe4' in file ./2.6 on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

     

    我们发现执行报错了,因为2.6中默认的编码为ascii编码,不支持中文。要想支持中文。

    我们需要在文件中声明我们文件的编码为-*-coding:utf-8 -*-。

     

    #!/usr/bin/python.bak

    #-*-coding:utf-8 -*-

    a = '你好'

    print a

    [root@a ~]# ./2.6

    你好

     

    现在我们2.6就支持中文了。

     

     

    现在我们把编码从utf8转换成gbk

    import sys

    a = '你好'

    print a

    a_gbk = a.decode('utf-8').encode('gbk')

    print a_gbk

     

     

    执行

    [root@a ~]# ./2.6

    你好

    ţº

     

    我们发现gbk的你好乱码了。这是因为我们xshell的编码我们调整为了utf-8。我们调整为"默认"就是gbk。在执行

    [root@a ~]# ./2.6

    浣.ソ

    你好

     

    这就发现我们已经将字符转换成了gbk了。

     

     

    3.5当中的编码

    python3.5当中默认的编码为utf-8.

     

    我们转换成gbk 直接encodeing('gbk') 就可以了

  • 相关阅读:
    目录-富爸爸穷爸爸
    目录-高效能人士的七个习惯(精华版)
    目录-卓有成效的管理者
    计算机网络自顶向下方法目录
    计算机网络_第7版_谢希仁_目录
    计算机网络各层协议
    TCP_IP详解卷一目录
    http 权威指南 目录
    Redis 知识体系
    Apache Commons 列表
  • 原文地址:https://www.cnblogs.com/pangbing/p/9125836.html
Copyright © 2020-2023  润新知