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使用chardet判断字符编码
May 09 Python
Python 文件管理实例详解
Nov 10 Python
python+selenium实现登录账户后自动点击的示例
Dec 22 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 Python
对python 多线程中的守护线程与join的用法详解
Feb 18 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
python中time库的实例使用方法
Oct 31 Python
Python调用C语言程序方法解析
Jul 07 Python
Python同时处理多个异常的方法
Jul 28 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
Aug 22 Python
python 实现百度网盘非会员上传超过500个文件的方法
Jan 07 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仿盗链代码
2012/06/03 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
php格式化日期实例分析
2014/11/12 PHP
php高清晰度无损图片压缩功能的实现代码
2018/12/09 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
Mozilla 表达式 __noSuchMethod__
2009/04/05 Javascript
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
jQuery Form 页面表单提交的小例子
2013/11/15 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
JS+CSS实现经典的左侧竖向滑动菜单效果
2015/09/23 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
微信小程序学习总结(四)事件与冒泡实例分析
2020/06/04 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
[54:53]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第二场
2014/05/23 DOTA
python中函数默认值使用注意点详解
2016/06/01 Python
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
Django中多种重定向方法使用详解
2019/07/17 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
python实现指定ip端口扫描方式
2019/12/17 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
Python如何将函数值赋给变量
2020/04/28 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
Bibloo荷兰:女士、男士和儿童的服装、鞋子和配饰
2019/02/25 全球购物
保健品市场营销方案
2014/03/31 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
党的群众路线教育实践活动个人对照检查材料(四风)
2014/11/05 职场文书
婚庆司仪开场白
2015/05/29 职场文书
感恩教育观后感
2015/06/17 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang