मैं सी # में एक प्रोग्राम है जो एक vCard (वीसीएफ) प्रत्येक संपर्क के लिए अलग-अलग फ़ाइलों में एकाधिक संपर्कों के साथ फ़ाइल विभाजित कर देगा लिखने के लिए कोशिश कर रहा हूँ के लिए विंडोज़ -1252 को यूनिकोड में कनवर्ट। मैं समझता हूं कि अधिकांश मोबाइल फोनों को पढ़ने के लिए vCard को एएनएसआई (1252) के रूप में सहेजने की आवश्यकता है।vCards
हालांकि, अगर मैं StreamReader
का उपयोग कर एक वीसीएफ फ़ाइल को खोलने और फिर इसे वापस लिखने StreamWriter
(एन्कोडिंग प्रारूप के रूप में 1252 की स्थापना) के साथ, å
, æ
और ø
की तरह सभी विशेष वर्ण ?
के रूप में लिखा जा रहा है। निश्चित रूप से एएनएसआई (1252) इन पात्रों का समर्थन करेगा। मैं यह कैसे तय करुं?
संपादित करें: यहां कोड का वह टुकड़ा है जिसका उपयोग मैं फ़ाइल को पढ़ने और लिखने के लिए करता हूं।
private void ReadFile()
{
StreamReader sreader = new StreamReader(sourceVCFFile);
string fullFileContents = sreader.ReadToEnd();
}
private void WriteFile()
{
StreamWriter swriter = new StreamWriter(sourceVCFFile, false, Encoding.GetEncoding(1252));
swriter.Write(fullFileContents);
}
चाहता हूँ मुझे लगता है कि करने के लिए महत्वपूर्ण ओपी की समस्या आपका आखिरी सवाल है: सुनिश्चित करें कि वीसीएफ को पढ़ने वाले 'स्ट्रीम रीडर' में 1252 एन्कोडिंग सेट है। –
मैं 'StreamReader' का उपयोग कर फ़ाइल पढ़ने के दौरान एन्कोडिंग सेट नहीं कर रहा हूं। और मैं आपके नमूने के रूप में कोड के उसी टुकड़े का उपयोग कर काफी ज्यादा हूं। लेकिन इनपुट वीसीएफ फ़ाइल यूटीएफ -8 में है। किसी कारण से, सोनी एरिक्सन की "बैकअप टू एमएस" सुविधा यूटीएफ -8 में वीसीएफ फाइल को बचाती है! – GPX
@GPX: मेरा अद्यतन उत्तर देखें, मुझे लगता है कि इसे आपकी समस्या का समाधान करना चाहिए। – Kredns