PEP 332 – 字节向量和字符串/Unicode 统一
- 作者:
- Skip Montanaro <skip at pobox.com>
- 状态:
- 已拒绝
- 类型:
- 标准跟踪
- 创建日期:
- 2004年8月11日
- Python 版本:
- 2.5
- 发布历史:
摘要
本 PEP 概述了引入原始 bytes 序列对象以及统一当前的 str 和 unicode 对象。
拒绝通知
本 PEP 以此形式被否决。作者表示没有时间继续维护它,并且 python-dev 上的讨论已转向一个略有不同的提议,该提议将(最终)作为新的 PEP 编写。请参阅从 https://mail.python.org/pipermail/python-dev/2006-February/060930.html 开始的讨论串。
基本原理
Python 当前的字符串对象负载过重。它们既用于保存 ASCII 和非 ASCII 字符数据,也用于保存无法合理解释为可显示字符序列的原始字节序列。这种重叠在过去并不是一个大问题,但随着 Python 越来越接近要求源代码正确编码,使用字符串表示原始字节序列将变得更具问题性。此外,随着 Python 的 Unicode 支持的改进,将字符串视为 ASCII 编码的 Unicode 对象变得更容易。
提议的实现
括号中的数字表示将引入该功能的 Python 版本。
- 添加一个
bytes内置函数,它只是str的同义词。(2.5) - 添加一个
b"..."字符串字面量,它等同于原始字符串字面量,但与包含文件源编码冲突的值不会生成警告。(2.5) - 对使用名为“bytes”的变量发出警告。(2.5 或 2.6)
- 引入一个
bytes内置函数,它引用一个与str类型不同的序列。(2.6) - 使
str成为unicode的同义词。(3.0)
字节对象 API
待定。
问题
- 这能否在 Python 3.0 之前完成?
bytes对象应该是可变的还是不可变的?(Guido 似乎更喜欢它们是可变的。)
版权
本文档已置于公共领域。
来源: https://github.com/python/peps/blob/main/peps/pep-0332.rst
最后修改: 2025-02-01 08:59:27 GMT