Python的编码格式更改问题


当前第2页 返回上一页

1

2

3

4

5

import sys

reload(sys)

sys.setdefaultencoding('utf8')

重启Python解释器,发现编码已被设置为utf8;

这是因为系统在Python启动的时候,自行调用该文件,设置系统的默认编码,而不需要每次都手动加上解决代码,属于一劳永逸的解决方法。

在平时开发时,我们都知道利用Decode和Encode进行转码操作。

1

2

Decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。

Encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。

在最新的python 3版本中,字符串的类型是str, 在内存中都是以Unicode表示,一个字符对应若干个字节;

如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。

以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如:

1

2

3

4

5

6

7

8

>>> 'ABC'.encode('ascii')

b'ABC'

>>> '中文'.encode('utf-8')

b'\xe4\xb8\xad\xe6\x96\x87'

>>> '中文'.encode('ascii')

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

在操作字符串时,我们经常遇到str和bytes的互相转换。为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换。

友情链接【UTF-8编码转换工具】

【python3视频教程】

编码格式最初只有几种,由于计算机的普及,许多国家或组织的使用,编码格式也变得越来越多,但是国际通用的依然是UTF-8,所以应该有个良好的编程习惯,多使用UTF-8编码格式。在遇到编码问题时,也尽量保持编码格式的统一。

以上就是Python的编码格式更改问题的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

Python下sqlalchemy的简单介绍

Python变量类型-如何给单个或者多个变量进行赋值(实例解析)

Python中关于django对数据库mysql的增删改查操作详解

Python安装的第三方库怎么删除

Python怎么读取excel文件

Python语言实现百度语音识别功能的实例

利用库fractions模块让Python支持分数类型

Python怎么读写excel

Python怎么避免随机元素重复

Python中socket之客户端与服务端握手的实例

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...