在做书中的一道习题,内容是创建一个词汇表,把单词当做键,其解释作为值。但是,简单的几行测试代码怎么样都无法执行
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编码方式则更能说的通。有些矛盾。
本文介绍了一种在Geany编辑器中处理中文字符显示及编码的问题,并探讨了不同编码方式如UTF-8与GBK的区别。

被折叠的 条评论
为什么被折叠?



