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通过smpt发送邮件的方法
Apr 30 Python
python开发之thread线程基础实例入门
Nov 11 Python
Python2.7编程中SQLite3基本操作方法示例
Aug 09 Python
python图书管理系统
Apr 05 Python
Python实现查看系统启动项功能示例
May 10 Python
Pandas 数据处理,数据清洗详解
Jul 10 Python
pandas.dataframe按行索引表达式选取方法
Oct 30 Python
python实现公司年会抽奖程序
Jan 22 Python
python3.6生成器yield用法实例分析
Aug 23 Python
Python是怎样处理json模块的
Jul 16 Python
基于python实现监听Rabbitmq系统日志代码示例
Nov 28 Python
python自动获取微信公众号最新文章的实现代码
Jul 15 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
NO3第三帝国留言簿制作过程
2006/10/09 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
Javascript document.referrer判断访客来源网址
2020/05/15 Javascript
jQuery插件制作之参数用法实例分析
2015/06/01 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
jquery Easyui Datagrid实现批量操作(编辑,删除,添加)
2017/02/20 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
[36:09]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
Python-基础-入门 简介
2014/08/09 Python
Cpy和Python的效率对比
2015/03/20 Python
python基础练习之几个简单的游戏
2017/11/10 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
2018/01/18 Python
python3爬取各类天气信息
2018/02/24 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
python解释器spython使用及原理解析
2019/08/24 Python
python分布式编程实现过程解析
2019/11/08 Python
Python 爬虫性能相关总结
2020/08/03 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2021/01/28 Python
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
英国派对礼服和连衣裙购物网站:TFNC London
2018/07/07 全球购物
纽约海:Sea New York
2018/11/04 全球购物
应聘自荐书
2013/10/08 职场文书
产品质量承诺范本
2014/03/31 职场文书
遗嘱继承公证书
2014/04/09 职场文书
数学兴趣小组活动总结
2014/07/08 职场文书
2014大学生职业生涯规划书最新范文
2014/09/13 职场文书
销售顾问工作计划书
2014/09/15 职场文书
Redis Lua脚本实现ip限流示例
2022/07/15 Redis