데이터 과학(Data Science)
데이터베이스의 ETL 요구사항을 넘어서 사람 눈에 보이지 않는 통찰력을 발견하기 위해 머신 러닝을 사용
string
: Unicode 문자 시퀀스 (in Python2: 바이트 배열)byte
(8비트, 불변)byte 배열
(가변)Python3의 문자열은 byte 배열
이 아닌 유니코드 문자 시퀀스
다.
ASCII (American Standard Code for Information Interchange)
- 컴퓨터의 기본 저장 단위는
byte
(8비트(256개 값을 저장))이며, ASCII는 7비트만 사용- 26개의 대소 문자, 숫자 10개, 문장부호, 공백 문자, 비인쇄 제어 코드로 구성
UNICODE
- 유니코드 문자열은 국가별로 독자적인 문자열 인코딩을 사용하는 것을 해결하기 위해 국제 표준화 기구에서 만든 표준, ASCII 코드에서 제공하지 않는 많은 문자와 기호, 이모티콘 등을 지원
- 각 문자는
고유한 이름
과식별 번호
가 있으며, 유니코드 평면(Plane)이라고 하는 8비트 세트로 분할
- 첫 번째 256 평면은 기본 다국어 평면(BMP)
UNICODE의 식별자(ID), 문자에 대한 이름을 안다면, 문자를 파이썬에서 사용 가능하다.
평면 번호
문자의 인덱스
를 의미한다.평면 번호
가 00
인 경우, ASCII 코드이며 인덱스는 ASCII 코드와 번호가 같다.)\U
이며, 숫자에 남는 공간이 있다면 왼쪽에 0을 채운다.\N{name}
으로 지정할 수 있다.파이썬 unicodedata
모듈: 유니코드 식별자와 이름으로 검색할 수 있는 함수를 제공
lookup()
: 인수로 대소 문자를 구분하지 않는 이름을 취함 → 유니코드 문자를 반환name()
: 인수로 유니코드 문자를 취함 → 대문자 이름을 반환파이썬에서 유니코드를 표시하는데 있어 발생할 수 있는 잠재적 문제는
사용하는 글꼴에서 텍스트를 표시하는데 있어 제한이 있는 경우 외에는 없다.