BASE-CHAR — 타입(베이스 문자)
BASE-CHAR — 타입(베이스 문자)
리스프의 문자 타입(character) 중에서도 '어느 구현에서나 들어가 있는 표준 문자들을 안전하게 담는' 타입이 바로 base-char예요. 문자의 저장 방식에 따라 character와 같을 수도, 그 아래의 진짜 부분집합일 수도 있어요. 이 문서는 타입(type) 문서예요.
본문
수퍼타입 (Supertypes)
base-char
character
t
설명 (Description)
base-char 타입은 standard-char의 **업그레이드된 배열 요소 타입(upgraded array element type)**으로 정의돼요. 구현은 이 표준에 나열된 것 외에도 character 타입의 추가 subtype을 지원할 수 있는데, 그런 것들이 base-char 타입의 수퍼타입일 수도 있고 아닐 수도 있어요. 또한 구현이 base-char를 character와 같은 타입으로 정의할 수도 있어요.
베이스 문자(base characters)는 다음 네 가지 면에서 구분돼요.
standard-char타입은base-char타입의 부분 레퍼토리(subrepertoire)예요.- standard characters가 아닌 base characters를 어떤 것으로 고를지는 구현 정의(implementation defined)예요.
- 오직
base-char타입의 객체만 **베이스 문자열(base string)**의 요소가 될 수 있어요. base-char레퍼토리의 문자 수에는 상한이 명시되지 않아요. 레퍼토리의 크기는 구현 정의예요. 하한은 96, 즉 standard characters의 수예요.
어떤 문자가 base character인지는 구현이 문자열을 어떻게 표현하는지에 달려 있어요. 그 외의 구현 특성이나 호스트 운영체제와는 관련이 없어요. 예를 들어 한 구현은 모든 문자열을 16비트 인코딩 문자로 저장하고, 다른 구현은 8비트 인코딩 문자열과 16비트 인코딩 문자열 두 종류를 가질 수 있어요. 첫 번째 구현에서 base-char는 character와 동등해요(문자열 종류가 하나뿐이니까요). 두 번째 구현에서 base characters는 8비트 인코딩 문자열에 저장될 수 있는 문자들이 될 수 있고, 그런 구현에서 base-char는 character의 진짜 부분집합(proper subtype)이 돼요.
standard-char 타입은 base-char 타입의 subtype이에요.