में फ़ाइल करने के लिए utf16 लिखना मैं बाइनरी मोड में ऑफस्ट्रीम के साथ फ़ाइल करने के लिए एक wstring लिखने की कोशिश कर रहा हूं, लेकिन मुझे लगता है कि मैं कुछ गलत कर रहा हूं। यह मैं क्या कोशिश की है है: एन्कोडिंग के साथ उदाहरण के लिए में फ़ायरफ़ॉक्सबाइनरी मोड
ofstream outFile("test.txt", std::ios::out | std::ios::binary);
wstring hello = L"hello";
outFile.write((char *) hello.c_str(), hello.length() * sizeof(wchar_t));
outFile.close();
उद्घाटन test.txt UTF16 को यह दिखा देंगे सेट के रूप में:
हैलो
क्या कोई मुझे बता सकता है कि ऐसा क्यों होता है?
FF FE 68 00 00 00 65 00 00 00 6C 00 00 00 6C 00 00 00 6F 00 00 00
ऐसा लगता है कि मैं किसी कारण से हर चरित्र के बीच में दो अतिरिक्त बाइट्स मिलता है: एक हेक्स संपादक मैं में फ़ाइल खुल रही
:
संपादित करें?
सही उत्पादन के लिए wchar_t से रूपांतरण करने के लिए धारा के साथ जुड़े स्थानीय करने के लिए एक पहलू जोड़ें। निचे देखो। –