‘문자열’이라는 개념은 아주 간단하다. 문자열은 문자의 열이다. 문제는 ‘문자’의 정의에 있다.
2021
년 현재, ‘문자’를 가장 잘 정의한 것은 유니코드 문자다. 이에 따라 파이썬
3
의
str
에서
가져오는 항목도 파이썬
2
의
unicode
객체에서 가져오는 항목과 마찬가지로 유니코드 문자다
(파이썬
2
의
str
에서 얻는 원시 바이트값이 아니다).
유니코드 표준은 문자의 단위 원소
identity
와 특정 바이트 표현을 서로 명확히 구분한다.
●
문자의 단위 원소(코드 포인트)는
10
진수
0
에서
1
,
114
,
111
까지의 숫자이며, 유니코드 표준에서는
‘
U
+’ 접두사를 붙여
4
자리에서
6
자리 사이의
16
진수로 표현한다. 예를 들어
A
라는 문자는 코드 포인트
U
+
0041
에, 유로화 기호는
U
+
20AC
에, 음악에서 사용하는 높은음자리표는
U
+
1D11E
에 할당되었다.
유니코드
13
.
0
.
0
에서 가용한 코드 포인트의 약
13
% 정도가 문자에 할당되었으며, 파이썬
3
.
10
.
0
.
b4
에서
도 이 표준을 사용한다.
●
문자를 표현하는 실제 바이트는 사용하는 인코딩에 따라 달라진다. 인코딩은 코드 포인트를 바이트 시퀀스
로 변환하는 알고리즘이다. 문자
A
(
U
+
0041
)에 대한 코드 포인트는
UTF
-
8
인코딩에서는
1
바이트인 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.