-
Visual Studio 2019 한글 형식(인코딩). 유니코드, EUC-KR프로그래밍 언어/WinApi 2020. 7. 28. 10:17
문자를 입력 받았을 경우, 한글인지 아닌지 판별하기 위하여 작업 도중,
WCHAR, char의 한글 형식을 같은 유니코드를 사용하고 있는 줄 알았으나
값이 다르게 나와서 찾아 보았다.
한글의 형식은 컴파일러마다, 운영체제마다 다르다고 한다.
Window10, Visual Studio 2019의 환경에서
WCHAR 형은 유니코드를 사용하고
char 형은 EUC-KR을 사용하는 것 같다.
ex)
//WCHAR eee[20] = TEXT("가나하");
unsigned char eee[20] = "가나하";
unsigned char eee1;
unsigned char eee2;eee1 = *((unsigned char*)eee + 0);
eee2 = *(((unsigned char*)eee) + 1);
TextMB::Box(eee1, eee2);
eee1 = *((unsigned char*)eee + 2);
eee2 = *(((unsigned char*)eee) + 3);
TextMB::Box(eee1, eee2);
eee1 = *((unsigned char*)eee + 4);
eee2 = *(((unsigned char*)eee) + 5);
TextMB::Box(eee1, eee2);유니코드 WCHAR char 가 AC00 00AC B0A1 나 B098 98B0 B3AA 하 D558 58D5 C7CF 둘 다, 두번째 바이트에 최상위 비트가 1인지 0인지 확인하면 한글 판별이 가능할 것 같다.
그런데 WCHAR의 값은 리틀엔디안 형식이니 반대로 나온게 맞는것 같은데,
char의 값은 그대로 나왔다. 뭐지..?
-- 유니코드 문자표
https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_%EC%98%81%EC%97%AD
https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C_A000~AFFF
-- EUC-KR 문자표
https://uic.win/ko/charset/show/euc-kr/
-- CP949
https://charset.fandom.com/ko/wiki/CP949
EUC-KR를 찾다가 보니 CP949, KS X 1001, KS X 1003 등등 여러 인코딩이 나오던데
언급은 하지 않겠다...
'프로그래밍 언어 > WinApi' 카테고리의 다른 글
win32api 서브클래싱, 전역클래싱, 슈퍼클래싱 (0) 2020.07.27 Visual Studio 2019 win32api 아이콘 변경이 안된다 (0) 2020.07.22 Visual Studio 2019 sprintf 에러 끄기 (0) 2020.07.22 윈도우즈 디바이스 드라이버 개발 방법 (0) 2014.12.18 Winapi) tooltip track이 안될 때 (0) 2014.11.28