Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 유니코드 데이터베이스(unicodedata) 모듈 완벽 가이드

unicodedata 모듈은 유니코드 문자 데이터베이스를 통해 모든 유니코드 문자에 접근할 수 있게 해주는 파이썬 표준 라이브러리입니다. 이 데이터베이스에는 각 문자의 이름, 일반 범주(category), 숫자 값 등 다양한 문자 속성 정보가 저장되어 있습니다.

이 모듈을 사용하려면 코드 상단에서 unicodedata 모듈을 임포트해야 합니다.

import unicodedata

유니코드 데이터베이스 주요 메서드

unicodedata 모듈에서 자주 사용되는 핵심 메서드를 살펴보겠습니다.

unicodedata.lookup(name)

문자의 공식 유니코드 이름으로 해당 문자를 검색하는 메서드입니다. 유효한 이름이면 그 문자를 반환하고, 존재하지 않는 이름이면 KeyError가 발생합니다.

unicodedata.name(chr[, default])

주어진 문자의 유니코드 이름을 문자열로 반환합니다. 기본값(default)이 지정되어 있고 해당 문자가 데이터베이스에 없으면 기본값을 반환하며, 기본값이 없으면 ValueError가 발생합니다.

unicodedata.digit(chr[, default])

주어진 문자에 할당된 정수 값을 반환합니다. 숫자로 인식할 수 없는 문자가 입력되면 기본값이 지정된 경우 기본값을 반환하고, 그렇지 않으면 ValueError가 발생합니다.

unicodedata.numeric(chr[, default])

주어진 문자에 해당하는 숫자 값을 실수(float) 형태로 반환합니다. 분수나 로마 숫자처럼 다양한 방식으로 표현된 숫자 문자도 처리할 수 있습니다.

unicodedata.category(chr)

문자에 할당된 일반 범주(General Category)를 반환합니다. 예를 들어 글자는 'L', 대문자는 'Lu', 여는 괄호는 'Ps'(Punctuation Start) 등으로 분류됩니다.

unicodedata.mirrored(chr)

해당 문자가 좌우 대칭(미러링) 속성을 가지는지 확인하는 메서드입니다. '('와 ')'처럼 짝을 이루는 문자들이 여기에 해당하며, 미러링 속성이 있으면 1, 없으면 0을 반환합니다.

예제 코드

import unicodedata as ud

# 이름으로 문자 찾기
print(ud.lookup('ASTERISK'))
print(ud.lookup('Latin Capital Letter G'))

# 문자의 유니코드 이름 확인
print(ud.name(u'x'))
print(ud.name(u'°'))

# 문자를 십진수 및 숫자 값으로 변환
print(ud.decimal(u'6'))
print(ud.numeric(u'9'))

# 문자의 유니코드 범주 확인
print(ud.category(u'A'))
print(ud.category(u'9'))
print(ud.category(u'['))  # Punctuation Start

# 미러링 속성 여부 확인
print(ud.mirrored(u'A'))
print(ud.mirrored(u'<'))

실행 결과

*
G
LATIN SMALL LETTER X
DEGREE SIGN
6
9.0
Lu
Nd
Ps
0
1