PEP:332
Title:Byte vectors and String/Unicode Unification
Version:42386
Last-Modified:2006-02-15 12:41:16 -0800 (Wed, 15 Feb 2006)
Author:Skip Montanaro <skip at pobox.com>
Status:Rejected
Type:Standards Track
Content-Type:text/x-rst
Created:11-Aug-2004
Python-Version:2.5
Post-History:

Contents

Abstract

This PEP outlines the introduction of a raw bytes sequence object and the unification of the current str and unicode objects.

Rejection Notice

This PEP is rejected in this form. The author has expressed lack of time to continue to shepherd it, and discussion on python-dev has moved to a slightly different proposal which will (eventually) be written up as a new PEP. See the thread starting at http://mail.python.org/pipermail/python-dev/2006-February/060930.html.

Rationale

Python's current string objects are overloaded. They serve both to hold ASCII and non-ASCII character data and to also hold sequences of raw bytes which have no reasonable interpretation as displayable character sequences. This overlap hasn't been a big problem in the past, but as Python moves closer to requiring source code to be properly encoded, the use of strings to represent raw byte sequences will be more problematic. In addition, as Python's Unicode support has improved, it's easier to consider strings as ASCII-encoded Unicode objects.

Proposed Implementation

The number in parentheses indicates the Python version in which the feature will be introduced.

Bytes Object API

TBD.

Issues