python3 中文乱码与默认编码格式设定方法

yipeiwu_com6年前Python基础

python默认编码格式是utf-8。在python2.7中,可以通过sys.setdefaultencoding('gbk')设定默认编码格式,而在python3.3中sys.setdefaultencoding()这个函数已经没有了。在python3.3中该如何设置内置的默认编码格式啊!急求!!!

(类似于“#coding:gbk”这种就不必来说了。能让import sys print(sys.getdefaultencoding())输出“gbk“的大神请进!!!)

python 3和2很大区别就是python本身改为默认用unicode编码。

字符串不再区分"abc"和u"abc", 字符串"abc"默认就是unicode,不再代表本地编码、

由于有这种内部编码,像c#和java类似,再没有必要在语言环境内做类似设置编码,比如“sys.setdefaultencoding”;

也因此也python 3的代码和包管理上打破了和2.x的兼容。2.x的扩展包要适应这种情况改写。

另一个问题是语言环境内只有unicode怎么输出gbk之类的本地编码。

答按惯例都在(序列化)输出时才转换成本地编码。

比如

file.write("GBK的中文".encode("GBK"))

python环境内字符串用str.encode("GBK")方法输出成字节串用于和其他环境交流。

以上这篇python3 中文乱码与默认编码格式设定方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现一个点绕另一个点旋转后的坐标

python实现一个点绕另一个点旋转后的坐标

如下所示: (x,y)为要转的点,(pointx,pointy)为中心点,如果顺时针角度为angle srx = (x-pointx)*cos(angle) + (y-pointy)*s...

python实现k-means聚类算法

python实现k-means聚类算法

k-means聚类算法 k-means是发现给定数据集的k个簇的算法,也就是将数据集聚合为k类的算法。 算法过程如下: 1)从N个文档随机选取K个文档作为质心 2)对剩余的每个文档测量其...

django商品分类及商品数据建模实例详解

基类(商品类及分类类之间共同的字段) class BaseModle(models.Model): name = models.CharField(max_length=32,...

Python求导数的方法

本文实例讲述了Python求导数的方法。分享给大家供大家参考。具体实现方法如下: def func(coeff): sum='' for key in coeff:...

python3+django2开发一个简单的人员管理系统过程详解

python3+django2开发一个简单的人员管理系统过程详解

一、基础环境准备 windows环境: Pycharm python3.6 Django2.0.1 Mysql5.7 安装django 在pycharm termin...