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中的hypot()方法使用简介
May 18 Python
微信跳一跳自动运行python脚本
Jan 08 Python
Django渲染Markdown文章目录的方法示例
Jan 02 Python
pyqt5实现俄罗斯方块游戏
Jan 11 Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 Python
Python3 合并二叉树的实现
Sep 30 Python
pytorch实现建立自己的数据集(以mnist为例)
Jan 18 Python
python连接PostgreSQL过程解析
Feb 09 Python
python从ftp获取文件并下载到本地
Dec 05 Python
Python就将所有的英文单词首字母变成大写
Feb 12 Python
FP-growth算法发现频繁项集——发现频繁项集
Jun 24 Python
Python matplotlib可视化之绘制韦恩图
Feb 24 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支持页面回退的两种方法[转]
2007/02/14 PHP
PHP函数实现分页含文本分页和数字分页
2014/10/23 PHP
PHP检测接口Traversable用法详解
2017/12/29 PHP
JS日历 推荐
2006/12/03 Javascript
Javascript中的数学函数
2007/04/04 Javascript
JavaScript的面向对象方法以及差别
2008/03/31 Javascript
js实现商品抛物线加入购物车特效
2020/11/18 Javascript
JavaScript的Backbone.js框架入门学习指引
2016/05/07 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
d3.js 地铁轨道交通项目实战
2019/11/27 Javascript
vue实现评价星星功能
2020/06/30 Javascript
Vue时间轴 vue-light-timeline的用法说明
2020/10/29 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
Python连接PostgreSQL数据库的方法
2016/11/28 Python
关于Python中Inf与Nan的判断问题详解
2017/02/08 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
深入理解python中sort()与sorted()的区别
2018/08/29 Python
python实现静态web服务器
2019/09/03 Python
python重要函数eval多种用法解析
2020/01/14 Python
python实现遍历文件夹图片并重命名
2020/03/23 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
Python内置异常类型全面汇总
2020/05/28 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
如何基于Python按行合并两个txt
2020/11/03 Python
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
美国韩国化妆品和护肤品购物网站:Beautytap
2018/07/29 全球购物
Java面试笔试题大全
2016/11/23 面试题
学校募捐倡议书
2014/05/14 职场文书
护林防火标语
2014/06/27 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers