关于编解码的问题
来源:2-9 计算机的字符与编码集

wxz123
2019-06-30
在头文件是 # -- coding: utf-8 -- 或者没有时,运行
a='小甲’
print(a)
输出为:小甲
当头文件是 #coding=gbk 时,运行
a='小甲’
print(a)
输出为:灏忕敳
在网上查了头文件的作用是python3编辑器以什么方式解码,但解码前这些代码是以什么格式进行编码的呢?
用python3写代码时,是有固定的编码格式吗?(是utf-8吗?),这个固定的编码格式是否可以变动(比如变成gbk),要怎么变呢?是和所使用的代码编辑器有关呢?
这个是我使用python3的编辑器(spyder)的截图,这个Encoding:ASCII是什么意思,是我写的代码的编码格式吗?还是这个编辑器将以这个格式对代码进行解码?
这个是同一个py文件用Notepad++打开的截图,这里的UTF-8又是什么意思,为什么同一个py文件,用编辑器打开是Encoding:ASCII,用Notepad++打开是UTF-8
写回答
1回答
-
Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。Python2则需要指定编码,否则在执行过程会出现报错。
使用编辑器可以变动Python的存储格式;使用编辑器,同时需要设置 py 文件存储的格式为 UTF-8,否则会出现错误SyntaxError: (unicode error) ‘utf-8’ codec can’t decode
对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。
012019-07-01
相似问题