为什么80%的码农都做不了架构师?>>>
养成使用utf8格式的习惯,但是不能保证所有的代码都是utf8格式,所以这里提供三个函数
getCoding tran2UTF8 tran2GBK ,分别是查看编码格式,转换为utf8,gbk格式,加入你的输出是乱码,可以重定向出来,使用notepad++查看,调整编码,直到看到的中文正常,比如,以ANSI编码时发现中文显式正常,说明输出是ansi格式,而中文是不可能用ansi码表示的,所以判断其格式是unicode:
def getCoding(strInput):'''获取编码格式'''if isinstance(strInput, unicode):return "unicode"try:strInput.decode("utf8")return 'utf8'except:passtry:strInput.decode("gbk")return 'gbk'except:passdef tran2UTF8(strInput):'''转化为utf8格式'''strCodingFmt = getCoding(strInput)if strCodingFmt == "utf8":return strInputelif strCodingFmt == "unicode":return strInput.encode("utf8")elif strCodingFmt == "gbk":return strInput.decode("gbk").encode("utf8")def tran2GBK(strInput):'''转化为gbk格式'''strCodingFmt = getCoding(strInput)if strCodingFmt == "gbk":return strInputelif strCodingFmt == "unicode":return strInput.encode("gbk")elif strCodingFmt == "utf8":return strInput.decode("utf8").encode("gbk")
相关资料:http://my.oschina.net/u/993130/blog/199214