首页 > Python > Python处理encoding的小技巧

Python处理encoding的小技巧

2010年2月8日 发表评论 阅读评论 1,682 人阅读    

用Python写过处理文本经常会遇到需要decoding或者encoding, 尤其是处理中文的时候。

encoding的问题处理起来是个脏活儿,报错不太容易看懂,网上相关资料不太好查。有同感?请继续读下去。

常规做法是读取文件的时候立刻decode, 所有的处理工作都用unicode,写会文件的时候encode. 但是等到读取的时候在处理的代码读/写起来都很别扭,感觉像穿上鞋以后袜子滑下来了…Python 3.1.1以上的版本解决了该问题。在Python 3.1.1中,打开文件可以加入encoding的参数:

file = open(filename, encoding='xxx')

啊,这样看起来终于舒坦了。 不同写如下的code了

file = open(filename)
for line in file:
    decoded_line = line.decode('xxx')
    do something else
提倡使用utf8




分类: Python 标签:
好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 4.38 )
Loading ... Loading ...
  1. 2010年2月8日23:56 | #1

    以前的版本可以用codecs.open,也挺方便的 …

  2. 2010年2月27日12:57 | #2

    呵呵,我坚持使用 Python3 的很大一个原因就在于此!另外, Py3 的 str 不会像以前那样既有 decode 方法又有 encode 方法让我经常用错了。

  3. 2010年3月4日12:31 | #3

    Python3k开始对str做了调整,现在这方面和java保持一致了。
    可以看下这篇
    http://lukejin.javaeye.com/blog/598303

  1. 本文目前尚无任何 trackbacks 和 pingbacks.

无觅相关文章插件,快速提升流量