我们都知道,如果我们在PyCharm中编码。
如果我们使用python2,其内容的.py
头部作为习惯,我们将添加#-*-coding:utf-8 -*-
以使.py
文件内容代码为utf-8编码。
我有一个问题,如果我们不提供标题,哪个编码是pycharm中的.py使用?这与pycharm有关吗?
如果我们创建.html
文件,我们可以通过其head标记设置编码:
<meta charset="UTF-8">
但普通文件怎么样?
普通文件是否使用默认编码?
如果我们在python3中使用.py
文件,效果是否等于在python2 #-*-coding:utf-8 -*-
文件中添加.py
行?
答案 0 :(得分:0)
在阅读了一些相关信息之后,我得到了下面的解释。
首先,有许多字符集:
ASCII,GB2312,GBK,Unicode,UTF-8等。
ASCII字符集不能包含/兼容所有其他国家/地区的字符(例如中文,日文,韩文),因为只有128位(0x80-0xff)保留用于扩展以支持每个国家/地区的特定字符,而且它们也不是国际标准,导致其他国家的软件安装容易出现乱码。因此,经过多年的开发,出现了可以包含世界上所有角色的Unicode。但是Unicode内存占用很大,就像拉丁字母只需要一个字节就可以表达它,但是中文需要3个字节,所以有可变长度的字符集--- UTF-8。
Unicode和ISO / IEC 10646通用字符集(UCS)具有更广泛的字符阵列,并且它们的各种编码形式已经开始在许多环境中快速取代ISO / IEC 8859和ASCII。虽然ASCII限制为128个字符,但Unicode和UCS通过将唯一标识(使用称为代码点的自然数字)和编码(分为8位,16位或32位二进制格式,称为UTF-8)的概念分离来支持更多字符。 ,UTF-16和UTF-32)。
在PyCharm中,如果项目python解释器是Python2,则文件默认字符集是ASCII(您必须在Pycharm首选项中添加#-*-coding:utf-8 -*-
- &gt;编辑器 - &gt;文件和代码模板 - &gt; Python用于避免项目中字符编码问题的脚本),如果项目python解释器是python3,则字符集为UTF-8,无需设置。