文章标签 ‘decode’
这几天在写一个爬虫,抓取指定网站的某些内容,中文网站的编码大概有两种:GB2312和UTF8。这里顺便就把写Python中要注意的一些内容汇聚一下,作为笔记。 1.文件头声明 对于python文件中包含中文的,应该在该文件头进行声明,加入: 1 # -*- coding: utf-8 -*- 一般的python文件头我都是用这一个模板: 1 2 3 4 5 #!/usr/bin/env python # -*- coding: utf-8 -*- """docstring """ 我使用VIM作为编辑器,希望每次创建python文件时都按照上面的模板创建,于是在~/.vim目录下面建了一个templates目录,用来存放模板文件,把上面那个目标拷贝保存为python.tpl,存放在之前创建好的~/.vim目录下。然后在~/.vimrc中添加: 1 autocmd BufNewFile *.py 0r ~/.vim/templates/python.tpl 这样就能保证每次写的python文件能够保持一致的编码方式。更多用vim写python可以参考之前的《 在vim中编写python 》这篇文章。 2.python中的两种字符串 事实上,python是有两种”字符串”,在python2.6的官方文档中,有Strings 和Unicode Strings 两种Strings。 对于它们之间的相互转换以及GB2312与UTF8的互转,还有encode和decode,在啄木鸟的WIKI上面有详细的解释: http://wiki.woodpecker.org.cn/moin/PyEnCode 简单的说,其实encode1就是将unicode的字符串转换为特定编码,诸如“GB2312,UTF8”之类。 而decode2就是将本地编码转换为unicode编码的字符串。 所以,比如说要将GB2312转换为UTF8,那么就先将GB2312 decode再encode成UTF8即可,反之亦然。 编码 [↩]解码 [↩]
