python中的str,unicode和gb2312
2015-12-29 21:35
555 查看
实例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:\abc\1.txt'
v2=r'好神奇的问题'
v3=r'C:\abc\12dc\文本.txt'
v4=r'\\rdf\azzwang\maya2013 project\imageshahah\鏉愯川璐村浘.jpg'
【发现】
对于一个str类型的字符串,如果你想着都用utf-8来解码是完全不行的。因此,我们期望一个程序的某个方法返回特定的编码(如unicode),在这种情况下,我们就可以直接使用encode方法转化为我们想要的编码,而省去了解码这个难题。
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:\abc\1.txt'
v2=r'好神奇的问题'
v3=r'C:\abc\12dc\文本.txt'
v4=r'\\rdf\azzwang\maya2013 project\imageshahah\鏉愯川璐村浘.jpg'
.decode("utf-8") | .decode("gb2312") | |
v1 | √ | √ |
v2 | × | √ |
v3 | × | √ |
v4 | √ | × |
对于一个str类型的字符串,如果你想着都用utf-8来解码是完全不行的。因此,我们期望一个程序的某个方法返回特定的编码(如unicode),在这种情况下,我们就可以直接使用encode方法转化为我们想要的编码,而省去了解码这个难题。
相关文章推荐
- python函数与方法装饰器
- 使用Python和Splinter实现12306火车票查询与抢票
- python国际化
- ZBar大图像处理加速
- numpy 常用api(三)
- leetcode之Path Sum II
- python中if __name__ == '__main__': 的解析
- Python爬虫学习笔记——豆瓣登陆(一)
- python中关于处理汉字乱码的问题
- python 3.5 爬虫日记1
- 编写高质量代码--改善python程序的建议(一)
- python --subprocess 范例
- 二、纯 python 实现一个调试器
- Win7(64位系统)中用Python连接access数据库(access2010)
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- Pyhton 1.3 使用list和tuple
- python的基础语法
- 添加python第三方插件时出现的问题
- gdal 1.9+python 2.7开发环境配置
- python在子线程中使用WMI报错-2147221020-moniker,i,bindCTX=pythoncom.MKParseDisplayName(Pathname)