Following system colour scheme - Python 增强提案 Selected dark colour scheme - Python 增强提案 Selected light colour scheme - Python 增强提案

Python 增强提案

PEP 332 – 字节向量和字符串/Unicode 统一

作者:
Skip Montanaro <skip at pobox.com>
状态:
已拒绝
类型:
标准轨迹
创建:
2004年8月11日
Python 版本:
2.5
历史记录:


目录

摘要

本 PEP 概述了引入原始 bytes 序列对象以及统一当前 strunicode 对象。

拒绝通知

本 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

上次修改: 2023-09-09 17:39:29 GMT