2010-04-20 2 views
1

는 I는 예를 들어, L "hao123-- 我 的 上网 主页"I는UTF8과 UTF16 변환

인코딩 UTF8로 변환 할 수 있고, 출력 문자열은 "hao123 锛 嶏 紞 鎴 戠, wchar_t에 열이 마지막으로, 필자는 반드시

문자열을 일반 텍스트 파일에 쓰고 그 형식은 utf16 (다른 사람들로부터 알 수 있습니다), "hao123 \ uFF0D \ uFF0D \ u6211 \ u7684 \ u4E0A \ u7F51 \ u4E3B \ u9875 "를 선택하십시오.

나 C++로 표준 문자열을 저장하고 파일에 기록해야하기 때문에, 어떻게 변환 할 수 있습니다

"hao123 锛 嶏 紞 鎴 戠 殑 涓 婄 綉 涓 婚>"에서 "hao123 \ uFF0D \ uFF0D \ u6211 \ u7684 \ u4E0A \ u7F51 \ u4E3B \ u9875 "문자 또는 C++ 표준 문자열?

아무도 내게 몇 가지 팁을 줄 수 있습니까?

미리 감사드립니다.

+0

어떤 프로그래밍 언어? – Oded

+0

C++. 어떤 충고? 감사합니다. – Dan

+0

마침내 필자는 혼자서 하나의 변환 함수를 작성했습니다. Oded 감사합니다. – Dan

답변

3

를 방문하십시오 자신에 의해 변환 기능에 쓴 수행 할 수 있습니다 : 당신이 사용중인

#include <locale> 
#include <codecvt> 
#include <string> 
#include <iostream> 

int main() 
{ 
    std::wstring_convert<std::codecvt_utf16<wchar_t> > myconv; 
    std::wstring ws(L"hao123--\x6211\x7684\x4E0A\x7F51\x4E3B\x9875"); 
    std::string bs = myconv.to_bytes(ws); 
    std::cout << bs << '\n'; 
}