1) WideString
캐스팅 시키는 함수. 아래 방법으로 하시면, A에 wchat_t 형식으로 Hello가 들어갑니다.
A = WideString("Hello");
2) StringToOleStr
원라는 AnsiString용 함수입니다. char 배열도 사용할 수 있습니다.
A = StringToOleStr("Hello");
3) MultiByteToWideChar
이 방법을 쓰시면 UTF8 형식으로도 변경할 수 있습니다. UniCode를 사용하는 경우, 이 API를 꼭 이용하셔야 합니다. UTF8을 원하시면 CP_ACP 부분을 CP_UTF8 로 바꾸어 주시면 됩니다. 이 방법은 조금 복잡합니다. 먼저 문자열 길이가 얼마나 나오는지 얻어낸 다음, 그 길이만큼 변수를 잡고, 변환을 다시 시켜야 합니다.
String stString = "HELLO";
int itWideSize = MultiByteToWideChar(CP_UTF8, 0, stString.c_str(), stString.Length() + 1, NULL, 0);
wchar_t *wcTarget = new wchar_t[itWideSize];
MultiByteToWideChar(CP_ACP, 0, stString.c_str(), stString.Length() + 1, wcTarget, itWideSize);
=========================================================================================================
캐스팅 시키는 함수. 아래 방법으로 하시면, A에 wchat_t 형식으로 Hello가 들어갑니다.
A = WideString("Hello");
2) StringToOleStr
원라는 AnsiString용 함수입니다. char 배열도 사용할 수 있습니다.
A = StringToOleStr("Hello");
3) MultiByteToWideChar
이 방법을 쓰시면 UTF8 형식으로도 변경할 수 있습니다. UniCode를 사용하는 경우, 이 API를 꼭 이용하셔야 합니다. UTF8을 원하시면 CP_ACP 부분을 CP_UTF8 로 바꾸어 주시면 됩니다. 이 방법은 조금 복잡합니다. 먼저 문자열 길이가 얼마나 나오는지 얻어낸 다음, 그 길이만큼 변수를 잡고, 변환을 다시 시켜야 합니다.
String stString = "HELLO";
int itWideSize = MultiByteToWideChar(CP_UTF8, 0, stString.c_str(), stString.Length() + 1, NULL, 0);
wchar_t *wcTarget = new wchar_t[itWideSize];
MultiByteToWideChar(CP_ACP, 0, stString.c_str(), stString.Length() + 1, wcTarget, itWideSize);
=========================================================================================================
'1.소프트웨어 이야기 > 00.VCL(C++ Builder, Delphi)' 카테고리의 다른 글
날짜 형식 변경 (0) | 2007.12.06 |
---|---|
BDS2006(C++ 빌더)에서 외부 ActiveX 사용하기 (0) | 2007.12.06 |
package / bpl / install 등의 개념에 대해 (0) | 2007.12.06 |