1、字符串前有u的代表unicode编码,也是python内部编码

unicode编码可得到其他编码:

#-*- encoding:utf-8 -*-

#将unicode编码为utf8
print u'的'.encode("utf8")=='的' #acess



2、其他编码解码可得到unicode

#-*- encoding:utf-8 -*-

#将utf8解码为unicode
print u'的'=='的'.decode("utf8") #acess



3、列表编码转换

# -*- coding: utf-8 -*-  
 
def test2():  
    a = [['一','一','二'],['一','二','三']]  
    for docno, document in enumerate(a):  
        print docno,document  
    counter = defaultdict(int)  
    for w in a[0]:  
        if isinstance(w, unicode):  
            print 'true'  
        else:  
            print 'false'  
        counter[w if isinstance(w, unicode) else unicode(w, 'utf-8')] += 1  
    print counter  
  
test2()



4、编码检测

# -*- coding: utf-8 -*-
import chardet
import urllib

#可根据需要,选择不同的数据  
TestData = urllib.urlopen('http://www.baidu.com/').read()  
try:
    print chardet.detect(TestData)
except Exception,e:
    print(e)



运行的时候可能会出错,试着重新打开pycharm

5、使用pycharm编写python乱码

开始总是乱码,该设置的都设置了,后来用charde检测编码也一直报错,之后重启了pycharm就好了,乱码问题也没了

 

6、python读取在文件中以unicode编码方式转成中文

row='\u4E09\u56FD\u6F14\u4E49'
eval("u"+"\'"+row+"\'")