博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python中文编码判别及转换
阅读量:5952 次
发布时间:2019-06-19

本文共 1185 字,大约阅读时间需要 3 分钟。

  hot3.png

养成使用utf8格式的习惯,但是不能保证所有的代码都是utf8格式,所以这里提供三个函数

getCoding tran2UTF8 tran2GBK ,分别是查看编码格式,转换为utf8,gbk格式,加入你的输出是乱码,可以重定向出来,使用notepad++查看,调整编码,直到看到的中文正常,比如,以ANSI编码时发现中文显式正常,说明输出是ansi格式,而中文是不可能用ansi码表示的,所以判断其格式是unicode:

085127_JR25_123914.png

def getCoding(strInput):    '''    获取编码格式    '''    if isinstance(strInput, unicode):        return "unicode"    try:        strInput.decode("utf8")        return 'utf8'    except:        pass    try:        strInput.decode("gbk")        return 'gbk'    except:        pass        def tran2UTF8(strInput):    '''    转化为utf8格式    '''    strCodingFmt = getCoding(strInput)    if strCodingFmt == "utf8":        return strInput    elif 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 strInput    elif strCodingFmt == "unicode":        return strInput.encode("gbk")    elif strCodingFmt == "utf8":        return strInput.decode("utf8").encode("gbk")

相关资料:http://my.oschina.net/u/993130/blog/199214

转载于:https://my.oschina.net/sanpeterguo/blog/209134

你可能感兴趣的文章
linux下永久添加静态路由
查看>>
android 全局变量和局部变量命名规则
查看>>
Ubuntu Sub-process /usr/bin/dpkg
查看>>
详解DNS的常用记录(下):DNS系列之三
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
事情的两面性
查看>>
只要会营销,shi都能卖出去?
查看>>
TCP/IP三次握手详细过程
查看>>
sed单行处理命令奇偶行输出
查看>>
走向DBA[MSSQL篇] 从SQL语句的角度 提高数据库的访问性能
查看>>
VC++深入详解学习笔记1
查看>>
安装配置discuz
查看>>
CentOS7 64位小型操作系统的安装
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1-正确认识软件架构...
查看>>
网址收藏
查看>>
2013 Linux领域年终盘点
查看>>
大学生暑期实践活动---关注少数民族孤寡老人
查看>>