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内置模块turtle绘图详解
Dec 09 Python
pandas系列之DataFrame 行列数据筛选实例
Apr 12 Python
解决phantomjs截图失败,phantom.exit位置的问题
May 17 Python
详解Django中类视图使用装饰器的方式
Aug 12 Python
Python随机生成身份证号码及校验功能
Dec 04 Python
python基础知识(一)变量与简单数据类型详解
Apr 17 Python
python3中property使用方法详解
Apr 23 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
基于MATLAB和Python实现MFCC特征参数提取
Aug 13 Python
Numpy之将矩阵拉成向量的实例
Nov 30 Python
python matplotlib中的subplot函数使用详解
Jan 19 Python
Python多个MP4合成视频的实现方法
Jul 16 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四大安全策略
2014/03/12 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
几个高效,简洁的字符处理函数
2007/04/12 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
2017/04/24 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
python使用三角迭代计算圆周率PI的方法
2015/03/20 Python
Python基于列表模拟堆栈和队列功能示例
2018/01/05 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
python3读取csv和xlsx文件的实例
2018/06/22 Python
详解Django-channels 实现WebSocket实例
2019/08/22 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
Python 解析简单的XML数据
2020/07/24 Python
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
送餐员岗位职责范本
2014/02/21 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
保护母亲河倡议书
2014/04/14 职场文书
委托协议书范本
2014/04/22 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
音乐课外活动总结
2015/05/09 职场文书
Java 超详细讲解ThreadLocal类的使用
2022/04/07 Java/Android