zoukankan      html  css  js  c++  java
  • python中文问题汇总

    1、中文路径

    #-*-coding:utf-8-*-
    
    path=ur'E:accumulatePython语法8输入和输出1.txt'
    
    #python内部使用的是unicode,不加前缀u则为utf-8类型
     

     2、python中的编码与解码

    在python中有两种字符串类型,分别是str和unicode,他们都是basestring的派生 类;str类型是一个包含Characters represent (at least) 8-bit bytes的序列;unicode的每个unit是一个unicode obj;所以:len(u'中国')的值是2;len('ab')的值也是2;

      如果想把一个str转换成特定编码类型,需要把str转为 Unicode,然后从unicode转为特定的编码类型如:utf-8、gb2312等;

    #coding=utf-8
    
    s_u = u'中国'     #u表示s为unicode类型
    s = '中国'        #因为标志了coding=utf-8,所以s为utf-8格式的。
    
    #1、utf-8==>unicode
    assert(unicode(s,'utf-8')==s_u)
    #equal
    assert(s.decode('utf-8')==s_u)
    #2、utf-8==>gb2312,先utf-8 ==>unicode 然后unicode转换为gb2312
    print s.decode('utf-8').encode('gb2312')
    #如果直接s.encode('gb2312')会报错,因为s会被默认解码为unicode,而解码方式依据sys.getdefaultencoding()
    import sys
    print sys.getdefaultencoding() #一般为ascii
    注:字符串前缀u在python3.x中被取消了,即所有字符串默认为unicode,因此可以直接将字符串转换为特定的字符集。
  • 相关阅读:
    bzoj1036树的统计Count
    bzoj 2049 洞穴勘测
    PHP可变参数
    PHP可变参数
    读取数量不定的输入数据
    读取数量不定的输入数据
    字符导致的不便
    字符导致的不便
    Welcome to the world of Java! ^O^ cmd + notepad + HelloWorld
    Welcome to the world of Java! ^O^ cmd + notepad + HelloWorld
  • 原文地址:https://www.cnblogs.com/zhizouxiao/p/3162579.html
Copyright © 2011-2022 走看看