[关闭]
@songying 2020-07-22T11:35:36.000000Z 字数 592 阅读 766

python3 编码问题

python


  1. type(s)
  2. sys.getdefaultencoding() # python3 编码器默认编码
  3. locale.getdefaultlocale() # 操作系统编码

头文件声明 coding=gbk

系统编码

在python3编译器读取.py文件时,若没有头文件编码声明,则默认使用“utf-8”来对.py文件进行解码。并且在调用 encode()这个函数时,不传参的话默认是“ utf-8 ”。

本地默认编码

在你编写的python3程序时,若使用了 open( )函数 ,而不给它传入 “ encoding ” 这个参数,那么会自动使用本地默认编码。没错,如果在Windows系统中,就是默认用gbk格式!!

unicode 与 utf-8

实际上unicode就是一个字符集,一个字符与数字一一对应的映射关系,因为它一律以2个字节编码(或者也有4个字节的,这里不讨论),所以占用空间会大一些,一般只用于内存中的编码使用。
而 utf-8 是为了实现unicode 的传输和存储的。因为它可变长,存英文时候可以节省大量存储空间。传输时候也节省流量,所以更加 “ international ”~

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注