21.유니코드-멀티바이트 상호 변환

ProudNet은 유니코드(Unicode)를 사용합니다. 따라서 개발 프로젝트는 유니코드를 쓰는 것을 추천합니다.

하지만, 유니코드를 쓸 수 없는 상황인 경우(예를 들어 기존에 만들어진 프로그램이 이미 유니코드 기반이 아닌 경우), ProudNet에 입력되는 문자열을 유니코드로 변환하는 과정과 ProudNet에서 출력되는 문자열을 멀티바이트 코드 (MBC)로 변환할 필요가 있습니다. 이 역할을 하는 클래스는 Proud::StringA2W, Proud::StringW2A 입니다.

Proud::StringA2W 클래스는 MBC를 유니코드로 변환하는 역할을 합니다. 반대로, Proud::StringW2A 는 유니코드를 MBC로 변환합니다.

다음은 그 예입니다.

void Foo()
{
    // 유니코드에서 MBC로 변환
    Proud::String a=L"가나다";
    const char* b=Proud::StringW2A(a);
    
    // MBC에서 유니코드로 변환
    Proud::String c=Proud::StringA2W(b);
}