python-在Geany中使用中文字符

在做书中的一道习题,内容是创建一个词汇表,把单词当做键,其解释作为值。但是,简单的几行测试代码怎么样都无法执行

Dictionary={
    'print':'打印'
    }
print(Dictionary)

结合报错信息,我把错误定位在了‘打印’这里。好像我的Geany无法识别中文字符。

网上查阅了相关资料,Geany把编码方案默认设定为UTF-8,所谓编码方案就是将人类语言转化为计算机语言的方法。如果想要正确打印Dictionary,必须在第一行声明

# coding=GBK

即把编码方案改成GBK。编码的意义是把人类通用的语言符号翻译成计算机通用的对象,两种不同的方案所翻译的语言也不一样,一般UTF-8将汉字翻译成3个字节,而GBK则翻译成两个字节。

上述(就是之前的代码段)的报错信息提示我没有指明编码方案,因为出现了汉字。当我指明方案为UTF-8时

# coding=UTF-8

又出现了报错信息,提示我UTF-8不能对其解码,但把UTF-8换成GBK就不会出现报错,我想可能是Geany默认使用GBK将‘打印’进行编码,而UTF-8不能对其解码。但又与Geany把编码方案默认设定为UTF-8矛盾,我是用

import sys
print(sys.getdefaultencoding())

这个代码段,查明Geany的默认编码方式,是UTF-8。但Geany默认用GBK编码方式则更能说的通。有些矛盾。

你可能感兴趣的:(python-在Geany中使用中文字符)