
	                	                 
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