python编码问题总结(持续更新)

        相信很多pythoner都对python 3.0之前版本的编码问题恨之入骨,我也对这个问题恨到基因里面。有时候也真的想放弃这个3.0之前的版本,直接奔3.0,不仅是因为3.0之前的版本编码问题,还有它不支持多核计算。但3.0也有很多缺憾,就是库类跟不上。没办法,只能硬着头皮跟它干。

  使用python一年多后,也总结了一些解决编码的方法。

  1、乱码的编码

  因为乱码基本上都不能用任何一种编码方式(“utf-8,gb18030”)去编码或解码,或者能utf-8编码,但不能gb18030编码;或者反过来。可程序要运行流畅怎么办?我想出了一套办法。

  查了一下ASCII码表,发现ASCII十进制值在126以下的字符是英文,数字,以及标点符号;而在127~255范围内的那些字符,是ASCII的扩展字符,经过chr(i),126 < i < 256 后,显示出来的都是乱码,根本看不懂,试着用

  chr(i).encode('utf-8'),chr(i).encode('gb18030'),chr(i).decode('utf-8'),chr(i).decode('gb18030')都无法通过编译。根据程序需要,因为乱码显示出来的信息基本上无用,程序也用不了这些编码,所以干脆把它过滤掉,省得去编码。如果程序需要解决这些乱码怎么办?基本上不可能,根本无法显示。那些可以显示的乱码的ASCII十进制值其实范围不在127~255之间,都可以通过编译。

你可能感兴趣的:(python)