0. 시작하기 전 참고 URLs
Literal에 대한 자료.
https://dsaint31.tistory.com/462
[Basic] Literal
Literal소스 코드 상에서 고정된 값을 가르킴. (또는 고정된 값을 나타내는 표기법을 의미함.)Programming language에서 data의 값을 지정(specifying data values)하는 방법은 다음 중의 하나임.1. Literal을 사용.2
dsaint31.tistory.com
Unicode에 대한 자료.
https://dsaint31.me/mkdocs_site/CE/ch01/code_for_character/#unicode
BME228
Codes for Characters Code 란 특정 형태의 information을 다른 방법으로 표현하는 규칙 또는 해당 규칙으로 표현된 결과물 을 가르킴. 문자를 나타내기 위한 code는 인간이 사용하는 문자 를 일종의 기호 또
dsaint31.me

1. Unicode Literal 기재법
Python 에서 unicode를 사용하여 문자열 lateral을 기재하는 방법.
\uprefix와 4개의 hex nubmer로 Unicode의 코드값(base16으로 기재됨)을 기재하는 방식 (Unicode Escape Sequence).- unicode의 17개 plane 중에서
- 첫번째인 basic multilingual plane (BMP) 에 속하는 경우로,
- BMP:
0x00000000~0x0000FFFF - 일반적인 글자들(한글 포함)의 경우 여기에 대부분 속함.
- 4개의 hex number = 2bytes
\Uprefix와 8개의 hex number로 Unicode의 코드값을 기재하는 방식 (Unicode Escape Sequence).- BMP 이외의 higher planes에 속하는 경우 이용됨.
- 8개의 hex number = 4bytes
chr(numeric_id)를 이용하는 방식.- 여기서 argument인
numeric_id는 Unicode의 코드값을 10진수 또는 16진수의 숫자로 할당함. - 16진수 표현시
0xprefix가 필요함.
- 여기서 argument인
\N{Unicode's Name}의 형태로 curly brace 안에 Unicode 이름을 지정하는 방식.- character name을 이용한 Unicode Escape Sequence.
UTF-8로 인코딩된 웹페이지나 text file에서 복사하여 갖다붙이는 방식.
Escape Sequence와 유사하게
Unicode Escape Sequence를 이용한다고 생각하면 됨.
예제 : \u를 이용한 2바이트 Unicode Escape Sequence
# 걀 : ac40
# 귥 : ade5
# kor_char = '\uac40'
kor_char = '\uade5'
kor_char
출력은 다음과 같음.
'귥'
예제 : \U를 이용한 4바이트 Unicode Escape Sequence
# kor_char = '\U0000ac40'
kor_char = '\U0000ade5'
kor_char
출력은 다음과 같음.
'귥'
예제 : chr() 를 이용.
chr(0xade5)
출력은 다음과 같음.
'귥'
예제 : \N{ }를 이용한 Unicode Escape Sequence
특정 unicode의 이름을 알려면 특정한 모듈이 필요함:
unicode 모듈의 lookup과 name을 통해,
- 특정문자의 Unicode 코드값(=code point)과
- 이름을 확인할 수 있음.
import unicodedata
kor_char = '\U0000ade5'
unicode_name = unicodedata.name(kor_char)
unicode_name
출력은 다음과 같음.
HANGUL SYLLABLE GYULG
찾은 이름에 해당하는 글자를 lookup을 통해 찾을 수 있음.
unicodedata.lookup(unicode_name)
출력은 다음과 같음.
'귥'
이를 이용한 Unicode Escape Sequenc 예제코드는 다음과 같음.
kor_char_1 = f'다음은 \N{HANGUL SYLLABLE GYULG}'
kor_char_1
출력은 다음과 같음.
'다음은 귥'
str로 취급되는 unicode literal
앞서 살펴본 형태로 문자열 literal을 만들면, len의 인자로 넘길 시 글자수를 반환함(code point의 길이가 아님).
즉, 문자열 str의 객체라고 보면 된다
snowman_char = "\u2603"
print(type(snowman_char))
len(snowman_char)
snowman_char
같이 보면 좋은 자료들
https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%ED%8F%89%EB%A9%B4
https://blog.naver.com/dsaint31/223826029991
python-str (문자열, string)
str (str, 문자열) 이란? text를 다루기 위한 지원되는 sequence type의 class. list와 tuple 처럼 sequenc...
blog.naver.com
'Python' 카테고리의 다른 글
| [Python] Arithmetic, Variables, Types and Assignment (1) | 2024.01.24 |
|---|---|
| [Python] Unicode and Python: encode and decode (0) | 2024.01.16 |
| [Python] Binary Bitwise Operations (1) | 2024.01.15 |
| [Python] `struct` 사용하기: bytes 로 C언어 구조체 다루기. (2) | 2024.01.15 |
| [Python] bytes and bytearray: Binary Data for Python (0) | 2024.01.15 |