Following system colour scheme Selected dark colour scheme Selected light colour scheme

Python 개선 제안 한국어 번역

PEP 332 – 바이트 벡터와 문자열/유니코드 통합

Author:
Skip Montanaro <skip at pobox.com>
Status:
Rejected
Type:
Standards Track
Created:
11-Aug-2004
Python-Version:
2.5
Post-History:


Table of Contents

번역·라이선스 안내

이 비공식 한국어 번역은 원문 Copyright 절의 Public Domain 조건에 따라 제공합니다. 원저자와 공식 원문은 그대로 표시합니다. 수정되지 않은 기준 원문 · 공식 최신판

초록

이 PEP는 원시 bytes 시퀀스 객체의 도입과 현재의 str 객체와 unicode 객체의 통합에 대해 개략적으로 설명합니다.

거부 공지

이 PEP는 현재 형태로는 거부되었습니다. 저자는 이 PEP를 계속 이끌어 갈 시간이 부족하다고 밝혔으며, python-dev에서의 논의는 약간 다른 제안으로 옮겨 갔습니다. 그 제안은 (언젠가) 새로운 PEP로 작성될 것입니다. 다음 주소에서 시작하는 스레드를 참고하십시오: https://mail.python.org/pipermail/python-dev/2006-February/060930.html.

근거

Python의 현재 문자열 객체는 지나치게 많은 역할을 떠맡고 있습니다. 문자열 객체는 ASCII 및 비ASCII 문자 데이터를 담는 역할과 함께, 표시 가능한 문자 시퀀스로 해석할 합리적인 방법이 없는 원시 바이트 시퀀스를 담는 역할도 합니다. 과거에는 이러한 중복이 큰 문제가 되지 않았지만, Python이 소스 코드를 올바르게 인코딩하도록 요구하는 방향으로 나아감에 따라 원시 바이트 시퀀스를 표현하는 데 문자열을 사용하는 것은 더 큰 문제가 될 것입니다. 또한 Python의 유니코드 지원이 개선되면서 문자열을 ASCII로 인코딩된 유니코드 객체로 간주하기가 더 쉬워졌습니다.

제안하는 구현

괄호 안의 숫자는 해당 기능이 도입될 Python 버전을 나타냅니다.

  • str의 단순한 동의어인 bytes 내장 객체를 추가합니다. (2.5)
  • 원시 문자열 리터럴과 동등한 b"..." 문자열 리터럴을 추가합니다. 다만 한 가지 예외로, 해당 리터럴을 포함하는 파일의 소스 인코딩과 충돌하는 값이 있어도 경고가 발생하지 않습니다. (2.5)
  • “bytes”라는 이름의 변수를 사용하면 경고합니다. (2.5 또는 2.6)
  • str 타입과 구별되는 시퀀스를 가리키는 bytes 내장 객체를 도입합니다. (2.6)
  • str을 unicode의 동의어로 만듭니다. (3.0)

Bytes 객체 API

미정.

문제점

  • 이것을 Python 3.0 이전에 달성할 수 있습니까?
  • bytes 객체는 가변이어야 합니까, 불변이어야 합니까? (Guido는 가변인 쪽을 선호하는 것으로 보입니다.)