• Python 中文编码问题小结


    1. 下面的语句要放在代码开头,指定文件编码, 可以识别 脚本中的所有字符和中文。

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

    2. codecd 编码转换

    如果想要读取文本中的中文,需要借助于codecs的一套open方法,而不是内置的open。

    #-*- coding:utf-8 -*-
    print '我是'
    import codecs
    
    f=codecs.open("e:/python/test_data/chinese.txt")
    content=f.read()
    f.close()
    
    if isinstance(content,unicode):
        print content.encode('utf-8')
        print "utf-8"
    else:
        print content.decode('gbk').encode('utf-8')

     上面是为了显示内部编码的转换,简便用法如下:

    chi1=codecs.open("e:/python/test_data/chinese.txt",'r','gbk')                 # 在打开时,指定文本的编码格式
    content1=chi1.read()
    print content1
    chi1.close()

    3. codecs 编码小结:

    gb2312/gbk 格式是中国标准的汉字编码格式,用于语言处理和编码转换。

    python的内部表示,是unicode编码。如果要做编码转换,需要:

                                                       decode                   encode

                                          source    ---------〉  unicode  ----------〉 target

    如果一个文件已经是unicode编码可以直接使用encode做编码转换。否则报错。例如:

     s=u'中文' 

    此时可以先判断其编码方式是否是unicode:

    isinstance(yourstr, unicode)     #用来判断是否为unicode 
  • 相关阅读:
    第六周作业
    第五周作业
    2019春第四周作业软件
    2019年春季学期第三周作业
    2019年春季学期第二周作业(文件指针)
    7-2 求最大值及其下标 (20 分)
    7-1 查找整数 (10 分)
    7-1 抓老鼠啊~亏了还是赚了? (20 分)
    秋季学期学习总结
    第6周作业
  • 原文地址:https://www.cnblogs.com/skyEva/p/5749241.html
Copyright © 2020-2023  润新知