python html5 bootstrap 视频教程

德云社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 7892|回复: 0

Python 2.7.8 与 Python 3.3.5 对待字符集编码的根本区别

[复制链接]

194

主题

288

帖子

1322

积分

超级版主

Rank: 8Rank: 8

金钱
798
金币
15
威望
0
贡献
0
发表于 2014-12-8 19:05:27 | 显示全部楼层 |阅读模式
AI人工智能 语音助理 人工翻译 教程
Python 2.7.8 与 Python 3.3.5 对待字符集编码的根本区别

        相信学过 Python 的都知道,Python 2 不支持 Unicode,而直接支持 ASCII,但官方具体是怎么解释的呢?今天,我把“官方英文帮助文件”相应中文翻译部分贴上来,大家互相学习学习。

以下为“Python 2.7.8 官方英文帮助文件”中文翻译部分摘录:
Python 通过 parser (语法分析器) 读取程序。输入到语法分析器的是由 lexical analyzer (词法分析器) 生成的令牌流。本章将描述词法分析器如何把文件分解成令牌。

Python 程序文本使用 7-位 ASCII 字符集。

2.3 版新增:编码声明用来指示字符串字面值,且注释可使用非 ASCII 编码。

为兼容旧版,Python 只会警告说:它发现了 8-位字符;那些警告应被纠正,要么声明明确编码,要么使用转义序列 (若那些字节是二进制数据,而非字符的话)。

Runtime 字符集取决于连接到程序的 I/O 设备,但一般是 ASCII 超集。

未来兼容性注意事项:假定 8-位字符为 ISO Latin-1 (涵盖大多数使用拉丁字母的西方语言的 ASCII 超集) 字符集可能很诱人;但在未来 Unicode 文本编辑器中,这会变得很常见。这些一般会使用 UTF-8 编码 (ASCII 超集),但序数 128-255 字符的使用会很不同。尽管对此问题仍未达成共识,但是,假定为 Latin-1 或 UTF-8 是不明智的;即使当前实现好像有利 Latin-1。这种情况适于源字符集及 Runtime 字符集两者。

以下为“Python 3.3.5 官方英文帮助文件”中文翻译部分摘录:
Python 通过 parser (语法分析器) 读取程序。输入到语法分析器的是由 lexical analyzer (词法分析器) 生成的令牌流。本章将描述词法分析器如何把文件分解成令牌。

Python 会把程序文本读取成 Unicode 代码点;通过编码声明给定源文件编码 (默认值为 UTF-8),请参阅 PEP 3120 了解相关细节。若源文件不能被解码,会引发 SyntaxError (句法错误)。

版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究法律责任。

AI人工智能 语音助理 人工翻译 教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|Sitemap|小黑屋|德云社区 |网站地图  

GMT+8, 2024-4-23 18:23 , Processed in 0.028423 second(s), 27 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

快速回复 返回顶部 返回列表