python源文件的字符编码知识点详解


Posted in Python onMarch 04, 2021

默认情况下,Python 源码文件以 UTF-8 编码方式处理。在这种编码方式中,世界上大多数语言的字符都可以同时用于字符串字面值、变量或函数名称以及注释中——尽管标准库中只用常规的 ASCII 字符作为变量或函数名,而且任何可移植的代码都应该遵守此约定。要正确显示这些字符,你的编辑器必须能识别 UTF-8 编码,而且必须使用能支持打开的文件中所有字符的字体。

1、如果不使用默认编码,要声明文件所使用的编码,文件的第一行要写成特殊的注释。

语法如下所示:

# -*- coding: encoding -*-

其中 encoding 可以是 Python 支持的任意一种 codecs。

比如,要声明使用 utf-8 编码,你的源码文件要写成:

# -*- coding: utf-8 -*-

2、关于第一行规则的一种例外情况是,源码以 UNIX "shebang" 行开头。这种情况下,编码声明就要写在文件的第二行。

例如:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

知识点扩展:

编码的定义

我们从“SOS“(国际通用求助信号)开始,它的摩斯密码的编码是:

“…---…”,想一下为什么选用S、O、S来作为求救信号?因为它简单,容易辨别且不容易发错呀!
那么,字符编码就是:

´给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码。例如,我们给字符'A'赋予数值0x41,则0x41就是字符'A'的编码。字符编码是字符的表现、储存方式。

字符编码需要处理两件事

(1)规定一个字符集中的字符由多少个字节表示;

(2)制定该字符集的字符编码表,即该字符集中每个字符对应的(二进制)值。

到此这篇关于python源文件的字符编码知识点详解的文章就介绍到这了,更多相关python源文件的字符编码内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python开启多个子进程并行运行的方法
Apr 18 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
Jan 04 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
Numpy 改变数组维度的几种方法小结
Aug 02 Python
Python读写文件基础知识点
Jun 10 Python
在Python函数中输入任意数量参数的实例
Jul 16 Python
python提取照片坐标信息的实例代码
Aug 14 Python
python 实现图片批量压缩的示例
Dec 18 Python
matplotlib阶梯图的实现(step())
Mar 02 Python
Python opencv缺陷检测的实现及问题解决
Apr 24 Python
python元组打包和解包过程详解
Aug 02 Python
关于pytest结合csv模块实现csv格式的数据驱动问题
May 30 Python
python3判断IP地址的方法
Mar 04 #Python
Python解析m3u8拼接下载mp4视频文件的示例代码
Mar 03 #Python
python和opencv构建运动检测器的实现
Mar 03 #Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
Mar 03 #Python
详解python第三方库的安装、PyInstaller库、random库
Mar 03 #Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
Mar 03 #Python
对Pytorch 中的contiguous理解说明
Mar 03 #Python
You might like
PHP+DBM的同学录程序(5)
2006/10/09 PHP
php 函数使用方法与函数定义方法
2010/05/09 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
2014/08/23 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
基于Vue实现timepicker
2017/04/25 Javascript
详解node中创建服务进程
2017/05/09 Javascript
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
使用D3.js构建实时图形的示例代码
2018/08/28 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
vue 实现click同时传入事件对象和自定义参数
2021/01/29 Vue.js
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
Python Trie树实现字典排序
2014/03/28 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
浅谈numpy库的常用基本操作方法
2018/01/09 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
英语师范专业毕业生自荐信
2013/09/21 职场文书
端午节活动总结
2014/08/26 职场文书
入党积极分子个人总结
2015/03/02 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis