
callback 함수는 문자 코드와 문자를 인자로 받으며, 변환된 문자 코드를 반환합니다. 반환 값이 0이면 변환은 무시됩니다.
callback 함수의 구현 예시입니다.
#hostingforum.kr
python
def callback(char, category):
if category == 'Zs': # 공백 문자
return 0
elif category == 'Sm': # 한글 자음
return ord(char) + 0xAC00
elif category == 'So': # 한글 모음
return ord(char) + 0xD7B0
else:
return ord(char)
# 한글 문자열
text = '한글'
# mb_encode_numericentity 함수를 사용하여 한글 문자열의 Numeric Entity를 변환
import unicodedata
import re
def encode_numericentity(text):
def callback(char, category):
if category == 'Zs': # 공백 문자
return 0
elif category == 'Sm': # 한글 자음
return ord(char) + 0xAC00
elif category == 'So': # 한글 모음
return ord(char) + 0xD7B0
else:
return ord(char)
return re.sub(r'[^x00-x7F]+', lambda x: chr(callback(x.group(), unicodedata.category(x.group()))), text)
print(encode_numericentity(text))
위의 예시에서, callback 함수는 문자 코드와 문자를 인자로 받으며, 변환된 문자 코드를 반환합니다. 반환 값이 0이면 변환은 무시됩니다.
이 함수를 사용하여 한글 문자열의 Numeric Entity를 변환할 수 있습니다.
callback 함수의 구현 방법은 위의 예시와 같습니다.
2025-06-17 11:19