python中字符编码叙述正确的是_python中的字符编码(一)

在Notepad++中新建一个文件命名为str_encode.py,我们想写像这样的代码:

print("你好,祝你学习愉快!")

会发现,Notepad里出现乱码不能正确显示汉字,这是为什么呢?

print("雿末")

原来Notepad++默认python的源码文件是ANSI编码的,需要在Notepad++中设置:编码==>编译成UTF-8编码。

在python中可以放置一条注释,表示这个文件是UTF-8编码的。

#-*- coding: utf-8 -*-#str_encode.py

print("你好,祝你學習愉快!")

但是当我们在cmd里执行str_encode.py时,又输出了乱码(我当前的学习环境是繁体XP所以上面的汉字是繁体字)。

这又是什么情况呢?看样子我们的代码还需要修改。把我们的代码修订如下:

#-*- coding: utf-8 -*-#str_encode.py

msg = "你好,祝你學習愉快!"

print(msg.decode("utf-8").encode("950"))

msg是unicode编码的需要decode("utf-8")解码为UTF-8的编码后使用encode(“950”)编码为950代码也就是繁体big5编码。

在cmd边框右键==>属性,查看cmd的编码方式。

查看默认编码方式

>>>import sys

>>>sys.getdefaultencoding()

ascii

>>>sys.stdout.encoding

cp950

参考资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值