유니코드를 변형하려면...
글쓴이: diene / 작성시간: 수, 2003/11/19 - 7:02오후
안녕
이 유니코드를 리눅스상에서 '안녕'이란 글자로 변환하려고 합니다.
윈도우상에서
#include <comdef.h> void main() { wchar_t wstr[2] = {0xAC00, NULL}; _bstr_t bstr = wstr; cout<<(LPCSTR)bstr; }
이렇게 하면 0xAC00 이 한글로 바뀌어 출력됩니다.
하지만 리눅스상에서는 이 코드를 그대로 쓰면 에러가 납니다.
유니코드를 한글로 변형하려면 어떻게 해야합니까?
Forums:
유니코드 한글을 화면에 출력 하려면 유니코드 폰트를 써야 하고, KSC-
유니코드 한글을 화면에 출력 하려면 유니코드 폰트를 써야 하고, KSC-5601(?) 같은 한글 코드는 그에 맞는 한글 폰트를 사용하여 화면에 표시해야 됩니다.
리눅스 배포판의 한글 폰트들은 기본적으로 KSC-5601 코드를 사용하므로 0xAC00에 해당하는 한글 폰트는 없습니다.(KSC-5601은 각 바이트에서 최상위 비트가 무조건 1로 설정되어 있습니다.)
유니코드 '0xAC00(가)'를 한글 코드 '0xB0A1(가)' 로 변환하여 한글을 출력 해야 합니다.
코드 변환은 iconv 함수를 이용하여 UCS-16을 EUC-KR로 변환하면 됩니다.
iconv로 검색해 보세요.
댓글 달기