实例1:
v1=u '好神奇的问题!?'
type(v1)-》unicode
v1.decode("utf-8")# not work,because v1 is unicode already
v1.encode("gb2312")#work,convert from unicode into gbk2312
【发现】
decode是把指定的对象转化为unicode(unicode包含utf-8,utf-16),并且指明了待转化对象的编码方式。
encode是把把unicode对象转化为其他编码的过程。
实例2:
v1=r'C:abc1.txt'
v2=r'好神奇的问题'
v3=r'C:abc12dc文本.txt'
v4=r'\rdfazzwangmaya2013 projectimageshahah鏉愯川璐村浘.jpg'
.decode("utf-8") | .decode("gb2312") | |
v1 | √ | √ |
v2 | × | √ |
v3 | × | √ |
v4 | √ | × |
【发现】
对于一个str类型的字符串,如果你想着都用utf-8来解码是完全不行的。因此,我们期望一个程序的某个方法返回特定的编码(如unicode),在这种情况下,我们就可以直接使用encode方法转化为我们想要的编码,而省去了解码这个难题。