
mb_ord 함수는 문자의 Unicode 코드 포인트를 반환하는 함수입니다. 이 함수는 16비트 코드 포인트를 지원하기 때문에, 0xFFFF보다 큰 코드 포인트를 처리할 때는 특수한 방법이 필요합니다.
0xFFFF보다 큰 코드 포인트를 처리하기 위해서는, mb_ord 함수를 사용하여 코드 포인트를 얻은 후, 0x10000 이상인 경우에만 0x10000을 뺀 후, 0x10FFFF를 곱한 후, 0x10000을 더하는 방법을 사용할 수 있습니다.
예를 들어, 'A' 문자의 코드 포인트가 0xFFFF보다 큰 경우, 다음과 같이 처리할 수 있습니다.
#hostingforum.kr
cpp
#include
#include
int main() {
int codePoint = mb_ord('A');
if (codePoint > 0xFFFF) {
codePoint -= 0x10000;
codePoint = (codePoint << 10) + (codePoint >> 20) + 0x10000;
}
std::cout << codePoint << std::endl;
return 0;
}
이러한 방법을 사용하면, 0xFFFF보다 큰 코드 포인트를 처리할 수 있습니다.
2025-05-11 14:14