Character sets and encodings
목차 |
기본 문자 집합
다음 95개의 문자로 구성된 기본 문자 집합 :
| 코드 포인트 | 문자 | 글리프 |
|---|---|---|
| U+0009 | 문자 탭 | |
| U+000B | 행 탭 | |
| U+000C | 폼 피드 (FF) | |
| U+0020 | 공백 | |
| U+0021 | 느낌표 |
!
|
| U+0022 | 인용 부호 |
"
|
| U+0023 | 숫자 기호 |
#
|
| U+0025 | 퍼센트 기호 |
%
|
| U+0026 | 앰퍼샌드 |
&
|
| U+0027 | 아포스트로피 |
'
|
| U+0028 | 왼쪽 괄호 |
(
|
| U+0029 | 오른쪽 괄호 |
)
|
| U+002A | 별표 |
*
|
| U+002B | 더하기 기호 |
+
|
| U+002C | 쉼표 |
,
|
| U+002D | 하이픈-마이너스 |
-
|
| U+002E | 마침표 |
.
|
| U+002F | 슬래시 |
/
|
| U+0030 .. U+0039 | 숫자 영 .. 구 |
0 1 2 3 4 5 6 7 8 9
|
| U+003A | 콜론 |
:
|
| U+003B | 세미콜론 |
;
|
| U+003C | 작다 기호 |
<
|
| U+003D | 등호 |
=
|
| U+003E | 크다 기호 |
>
|
| U+003F | 물음표 |
?
|
| U+0041 .. U+005A | 라틴 대문자 A .. Z |
A B C D E F G H I J K L M
|
| U+005B | 왼쪽 대괄호 |
[
|
| U+005C | 역슬래시 |
\
|
| U+005D | 오른쪽 대괄호 |
]
|
| U+005E | 서컴플렉스 액센트 |
^
|
| U+005F | 밑줄 |
_
|
| U+0061 .. U+007A | 라틴 소문자 a .. z |
a b c d e f g h i j k l m
|
| U+007B | 왼쪽 중괄호 |
{
|
| U+007C | 수직선 |
|
|
| U+007D | 오른쪽 중괄호 |
}
|
| U+007E | 틸드 |
~
|
C++와 달리, U+000A LINE FEED (LF) 문자는 기본 문자 집합에 포함되지 않습니다. 대신, 소스 파일의 각 텍스트 줄 끝을 나타내는 어떤 방법이 있어야 하며, 문서는 이러한 줄 끝 표시자를 단일 개행 문자인 것처럼 취급합니다.
기본 문자 집합은 기본 소스 문자 집합 으로도 알려져 있습니다.
기본 실행 문자 집합
기본 실행 문자 집합 은 기본 문자 집합의 모든 구성원과 다음 문자들을 포함합니다:
| 코드 단위 | 문자 |
|---|---|
| U+0000 | Null |
| U+0007 | Bell |
| U+0008 | Backspace |
| U+000A | Line feed (LF) |
| U+000D | Carriage return (CR) |
각 기본 실행 문자 집합에 대해 멤버들의 값은 음수가 아니어야 하며 서로 구별되어야 합니다. 소스 및 실행 기본 문자 집합 모두에서, 위의 10진수 숫자 목록에서 0 이후의 각 문자 값은 이전 값보다 하나 더 커야 합니다. U+0000 NULL 문자는 값 0을 가집니다.
기본 실행 문자 집합의 각 멤버 표현은 바이트에 맞습니다.
C++에서 기본 실행 문자 집합은 기본 리터럴 문자 집합 과 기본 실행 와이드 문자 집합 으로도 알려져 있습니다.
리터럴 인코딩
literal encoding 은 인코딩 접두사 없이 character constant 또는 string literal 내의 값들로 실행 문자 집합의 문자들을 매핑하는 구현 정의 매핑입니다. 이는 모든 기본 실행 문자 집합 값들을 구현 정의 인코딩으로 매핑하는 것을 지원합니다. 멀티바이트 문자 시퀀스를 포함할 수 있습니다.
|
다음 문자들은 기본 실행 문자 집합에 포함되지 않지만, 일반 문자 상수나 일반 문자열 리터럴에서 단일 바이트로 인코딩되어야 합니다.
|
(C23부터) |
wide literal encoding
은 실행 문자 집합의 문자들을
L
접두사가 붙은 문자 상수나 문자열 리터럴의 값들로 매핑하는 구현 정의 매핑입니다. 이는 모든 기본 실행 문자 집합 값들을 구현 정의 인코딩으로 매핑하는 것을 지원합니다. 구현이
__STDC_MB_MIGHT_NEQ_WC__
를 정의하지 않는 경우, 이 매핑은 모든 기본 실행 문자 집합 값들에 대해 리터럴 인코딩과 동일한 값을 생성합니다. 하나 이상의 값이 확장 실행 문자 집합의 하나 이상의 값으로 매핑될 수 있습니다.
|
UTF-8 인코딩은 실행 문자 집합의 문자들을
구현에서 정의된 인코딩이
(C23 이전)
UTF-16 인코딩이
(C23부터)
실행 문자 집합의 문자들을
구현에서 정의된 인코딩이
(C23 이전)
UTF-32 인코딩이
(C23부터)
실행 문자 집합의 문자들을
|
(C11부터) |
참고 항목
| ASCII 차트 | |
|
C++ documentation
for
Character sets and encodings
|