ManagedAudiere의 한글문제

기존 StringConverter 소스가 c++의 char 하나를  c#의 char 하나로 복사해버렸기 때문에.. 파일 주소에 한글이 들어가면 읽지 못하는 상황이 일어났다.. 그래서 멀티바이트를 처리하도록 수정했다.. 밑이 그 소스..

class StringConverter
{
public:
    static std::string ToStd(System::String^ a)
    {
        std::string ret = "";
        array<unsigned char>^ bytes = Encoding::Default->GetBytes(a);
        for (int i = 0; i < bytes->Length; i++)
        {
            ret += bytes[i];
        }
        return ret;
    }
    static System::String^ ToNet(std::string a)
    {
        List<unsigned char>^ bytes = gcnew List<unsigned char>();
        for (unsigned int i = 0; i < a.length(); i++)
        {
            bytes->Add(a[i]);
        }
        String^ ret = Encoding::Default->GetString(bytes->ToArray());
        return ret;
    }
};


참고로 audiere는 lgpl의 오디오 라이브러리이고, ManagedAudiere는 닷넷용 래핑 라이브러리[?]이다.

by kiho | 2006/08/31 17:52 | .NET | 트랙백 | 덧글(2)

트랙백 주소 : http://kiho.egloos.com/tb/2459227
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 마르시즈 at 2006/09/14 08:24
한달동안 야한거 많이봐서 머리길러서 인천간다
Commented by exe at 2006/09/16 04:10
ah sorry, i'll fix that in some time (i wrote it)

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶