前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >关于Python的默认字符集

关于Python的默认字符集

作者头像
知忆
修改2021-06-10 11:11:43
修改2021-06-10 11:11:43
1K0
举报
文章被收录于专栏:linux百科小宇宙linux百科小宇宙

本文将简要介绍Python程序解析使用的字符集历史和配置方法。

背景: 在写脚本程序的时候难免会设计一些和中文相关的变量内容。这个时候对于一个Python新手(包括我在内)来说如何配置python使之能够正确识别程序内的中文内容就会变得非常头疼。本文将会简要介绍Python字符集的配置方法和一些相关历史信息。

<hr />

 

Python的默认字符集

Python的默认字符集在几个大版本中有过改变,以下是各个版本的默认字符集列举:

Python2.1及以前: latin1

Python2.3及之后,Python2.5以前:latin1 (但是会对非ASCII字符集字符提出WARNING)

Python2.5及以后:ASCII

此外在PEP上也有提议在后续版本中将默认字符集调整为UTF-8

<hr />

 

如何配置默认字符集(Python2.5以前)

配置Python当前脚本文件解析使用的默认字符集在2.5以前是很困难的。因为这些老版本不支持类似shebang的coding配置方式。虽然2.5以前的老版本已经过时了,这里还是提一下这些版本配置字符集的方法。具体配置原理是通过sys.setdefaultencoding()函数。但是纠结的是,这个函数site.py(一个在Python启动时自动运行的脚本)中被删除了。于是网上就出现了以下几种版本的方法:

reload(sys)

修改sitecustomize.py配置全局默认字符集

两种方法都仅仅是能work,且不优雅。更具体的操作方式可以参看stackoverflow上的讨论

<hr />

 

如何配置默认字符集(Python2.5及以后)

Python2.5以后的默认字符集配置方式就简单了很多。只要在Shebang后面(即#! /usr/bin/python这一行之后), 紧跟上一行字符集配置行即可。字符集配置行的书写规则需要符合这么一个正则coding[:=]\s*([-\w.]+)。也就是说以下几种写法都可以生效:

#!/usr/bin/python

# coding=utf8

或者

#!/usr/bin/python

# -*- coding: utf8 -*-

更或者

#!/usr/bin/python

# vim: set fileencoding= :

这些都是可以work的。

--------------------------------------分割线 --------------------------------------

CentOS上源码安装Python3.4  http://www.linuxidc.com/Linux/2015-01/111870.htm

《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python脚本获取Linux系统信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

在Ubuntu下用Python搭建桌面算法交易研究环境 http://www.linuxidc.com/Linux/2013-11/92534.htm

Python 语言的发展简史 http://www.linuxidc.com/Linux/2014-09/107206.htm

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档