2011-01-23 10 views
0

C++에서 나는 유니 코드 문자 로 파일에 16 진수 문자열을 저장하고 싶습니다 예 : 0x4E3B이 主 --->변환 16 진수

어떤 제안이나 아이디어 감사합니다을 파일에 저장합니다.

+1

C++ 언어 태그를 사용하면 질문에 답변 할 수있는 사람들이 많지 않을 수도 있습니다. –

+0

글쎄, 뭐 해봤 어? –

+2

문자열 0x4E3B는 무엇을 나타내는가? 코드 포인트? 2 바이트는 코드 포인트에 비해 너무 짧습니다. 그리고 파일에 저장하고 싶을 때, 그 파일은 어떤 인코딩을 사용하고 있습니까? –

답변

1

인코딩은 무엇입니까? UTF-8로 가정합니다.

어떤 플랫폼입니까? 당신은 UTF-8 코드 포인트를 변환 할 필요가

:

Windows를 필요한 경우 리눅스에서 다음

std::locale loc("en_US.UTF-8"); // or "" for system default 
std::wofstream file; 
file.imbue(loc); // make the UTF-8 locale for the stream as default 
file.open("file.txt"); 
wchar_t cp = 0x4E3B; 
file << cp; 

그러나 그것은 아주 다른 이야기 경우

. 많은 방법. 0xFFFF보다 크면 UTF-16으로 변환 한 다음 WideCharToMultiByte를 사용하는 방법을 검색 한 다음 파일에 저장하십시오.

+0

Windows XP SP3 및 VS2008을 사용하고 있습니다. 유니 코드 인코딩 – user586219