Py thon 的中文处理 一、使用中文字符 在 py thon 源码中如果使用了中文字符,运行时会有错误,解决的办法是在源码的开头部分加入字符编码的声明,下面是一个例子: #
/u sr/bin/env py thon # -*- coding: cp936 -*- Py thon Tu torial 中指出,py thon 的源文件可以编码 ASCII 以外的字符集,最好的做法是在#
行后面用一个特殊的注释行来定义字符集: # -*- coding: encoding -*- 根据这个声明,Py thon 会尝试将文件中的字符编码转为 encoding 编码,并且,它尽可能的将指定地编码直接写成 Unicode 文本
注意,coding:encoding 只是告诉 Py thon 文件使用了 encoding 格式的编码,但是编辑器可能会以自己的方式存储
py 文件,因此最后文件保存的时候还需要编码中选指定的ecoding才行
二、中文字符的存储 >>> str = u "中文" >>> str u '\x d6\x d0\x ce\x c4' >>> str = "中文" >>> str '\x d6\x d0\x ce\x c4' u "中文"只是声明 u nicode,实际的编码并没有变
这样子就发生变化了: >>> str = "中文" >>> str '\x d6\x d0\x ce\x c4' >>> str = str
decode("gb2312") >>> str u '\u 4e2d\u 6587' 更进一步: >>> s = '中文' >>> s
decode('gb2312') u '\u 4e2d\u 6587&