博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中的字符编码(一)
阅读量:4313 次
发布时间:2019-06-06

本文共 730 字,大约阅读时间需要 2 分钟。

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

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

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

print("雿末")

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

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

# -*- coding: utf-8 -*-#str_encode.pyprint("你好,祝你學習愉快!")

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

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

#-*- coding: utf-8 -*-#str_encode.pymsg = "你好,祝你學習愉快!"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

 

参考资料:

1.

转载于:https://www.cnblogs.com/mengfanhao/archive/2013/06/04/3117229.html

你可能感兴趣的文章
VS2013 添加已有文件夹
查看>>
python 计时程序运行时间
查看>>
Git学习系列-Git基本概念
查看>>
c#多个程序集使用app.config 的解决办法
查看>>
Linux+Apache+PHP+MySQL服务器环境配置(CentOS篇)
查看>>
Linux下获取本机IP地址的代码
查看>>
(C#)调用Webservice,提示远程服务器返回错误(500)内部服务器错误
查看>>
flex布局
查看>>
python-----python的文件操作
查看>>
java Graphics2d消除锯齿,使字体平滑显示
查看>>
控件中添加的成员变量value和control的区别
查看>>
Spring Boot Docker 实战
查看>>
Div Vertical Menu ver3
查看>>
Git简明操作
查看>>
InnoDB为什么要使用auto_Increment
查看>>
课堂练习之买书打折最便宜
查看>>
定义函数
查看>>
网络虚拟化技术(二): TUN/TAP MACVLAN MACVTAP
查看>>
MQTT协议笔记之mqtt.io项目HTTP协议支持
查看>>
(转)jQuery中append(),prepend()与after(),before()的区别
查看>>