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系列之数据处理编程实例(一)
May 22 Python
30分钟搭建Python的Flask框架并在上面编写第一个应用
Mar 30 Python
Python中的数学运算操作符使用进阶
Jun 20 Python
Java及python正则表达式详解
Dec 27 Python
解决vscode python print 输出窗口中文乱码的问题
Dec 03 Python
对python中Librosa的mfcc步骤详解
Jan 09 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
Apr 16 Python
python如何获取列表中每个元素的下标位置
Jul 01 Python
Django单元测试中Fixtures用法详解
Feb 25 Python
python爬虫学习笔记之pyquery模块基本用法详解
Apr 09 Python
使用python脚本自动生成K8S-YAML的方法示例
Jul 12 Python
Python3中PyQt5简单实现文件打开及保存
Jun 10 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
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
Yii框架数据模型的验证规则rules()被执行的方法
2016/12/02 PHP
ThinkPHP删除栏目(实现批量删除栏目)
2017/06/21 PHP
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
2017/08/14 Javascript
JavaScript实现的数字与字符串转换功能示例
2017/08/23 Javascript
JS去掉字符串中所有的逗号
2017/10/18 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
jstree中的checkbox默认选中和隐藏示例代码
2019/12/29 Javascript
在vue中使用回调函数,this调用无效的解决
2020/08/11 Javascript
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
Python实现模拟分割大文件及多线程处理的方法
2017/10/10 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
利用PyCharm Profile分析异步爬虫效率详解
2019/05/08 Python
清除canvas画布内容(点擦除+线擦除)
2020/08/12 HTML / CSS
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
电气工程和自动化自荐信范文
2013/12/25 职场文书
农村党支部先进事迹
2014/01/14 职场文书
组织关系转移介绍信
2014/01/16 职场文书
年会搞笑主持词
2014/03/27 职场文书
交通事故协议书范文
2014/04/16 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
模范教师事迹材料
2014/12/16 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
Pytorch DataLoader shuffle验证方式
2021/06/02 Python
Python中的datetime包与time包包和模块详情
2022/02/28 Python
Go语言特点及基本数据类型使用详解
2022/03/21 Golang