python修改默认编码
㈠ 如何修改python文件的编码格式
可以知道的是,文本文件的默认编码并不是utf8。
我们打开一个文本文件,并点击另存为
2
我们在新窗口的编码一栏看到默认编码是ANSI。先不管这个编码是什么编码,但是通过下拉列表我们知道,这种编码不是utf8。
END
编码测试
1
对于Python里面的中文显示,我们常常使用utf8和gbk的编码。对于这两种编码笔者就不介绍了,总之都是专门可以处理中文的编码方式啦。
2
我们首先对文本文件测试了gbk解码。我们发现,此编码下文本文件内容可以正常显示,但是使用utf8解码,程序出错,抛出decodeError异常
3
同样的,我们对Python脚本文件测试了utf8解码。我们发现,此编码下文本文件内容可以正常显示,但是使用gbk解码,中文部分出现乱码
4
测试说明,对于文本文件需要使用gbk解码,而对于脚本文件需要utf8解码,也就是说,文本文件是gbk编码的,而脚本则是utf8
㈡ python123汉字的unicode编码值
python的默认编码是ascii,可以通过sys.setdefaultencoding('utf-8')函数设置python的默认编码。
python中可以通过encode和decode的方式改变数据的编码,比如:
>>> u'汉字'
u'\u6c49\u5b57'
>>> u'汉字'.encode('utf-8')
'\xe6\xb1\x89\xe5\xad\x97'
>>> u'汉字'.encode('utf-8').decode('utf-8')
u'\u6c49\u5b57'
我们可以通过这两个函数设置编码。
那么,python中的str是什么类型?
>>> import binascii
>>> '汉字'
'\xba\xba\xd7\xd6'
>>> type('汉字')
>>> print binascii.b2a_hex('汉字')
babad7d6
>>> print binascii.b2a_hex(u'汉字')
Traceback (most recent call last):
File "", line 1, in
UnicodeEncodeError: 'ascii' codec can't encode characters in
position 0-1: ordinal not in range(128)
>>> print binascii.b2a_hex(u'汉字'.encode('utf-8'))
e6b189e5ad97
>>> print binascii.b2a_hex(u'汉字'.encode('gbk'))
babad7d6
binascii是将数据的二进制转换成ascii,上面的解释是:‘汉字'的类型是str,二进制是babad7d6,u‘汉字'是无法转换成ascii,这样就报出了开头的第一个错误。解决办法就是把它.encode(‘utf-8')成str类型。因为我命令行是windows默认的GBK编码,所有u'汉字'.encode(‘gbk')的时候,输出结果和‘汉字'结果一样。
㈢ python设置文件编码方式有哪些方法
python设置文件编码方式的方法有:使用带等号的设置方法、使用带冒号的设置方法这个方法可以被大多数编辑器所识别、使用vim形式的方法
在python2中的文件中如果要填写中文,必须要加一行代码用来声明文件编码的注释,否则python2会报错。因为它默认的编码格式是ASCII。而在python3中已经没有这个问题了,python3默认的文件编码是UTF-8。今天就将介绍如何在python中设置文件编码,具有一定的参考作用,希望对大家有所帮助
【推荐课程:Python教程】
要将编码注释放在第一行或者第二行,一般来说,Python文件的前两行要这样写:
#!/usr/bin/python
# -*- coding: UTF-8 -*-第一行是指定python解释器,第二行是指定python文件编码方式,设置编码方式有以下可选的方法
(1)使用带等号的设置方法
#!/usr/bin/python
# coding=<encoding name>(2)使用带冒号的设置方法,这是方法是大多数编辑器都可以正确识别的
#!/usr/bin/python
# -*- coding: <encoding name> -*-(3)vim形式的方法
#!/usr/bin/python
# vim: set fileencoding=<encoding name> :设置头部的编码声明有以下几个作用:
1、如果代码中有中文注释,就需要此声明
2、比较高级的编辑器会根据头部声明将此作为代码文件的格式。
3、程序会通过头部声明,解码初始化 ,所以头部声明和代码的存储格式要一致
总结:
㈣ 如何设置python的编码格式为utf-8
python的编码格式?
#coding=utf-8
这是文档编码
import sys
sys.setdefaultencoding("utf-8")
这是设置默认编码方式为utf-8
xx.encode("utf-8")
这是字符串编码操作
import codecs
codecs.open(xx,'r','utf-8"),这是文件编码读取方式