Преобразование Unicode в Windows-1252 для vCard

Я пытаюсь написать программу на C # , которая разделит файл vCard (VCF) с несколькими контактами на отдельные файлы для каждого контакта. Я понимаю, что vCard необходимо сохранить как ANSI (1252), чтобы большинство мобильных телефонов могли их читать.

Однако, если я открою файл VCF с помощью StreamReader , а затем запишу его обратно с помощью StreamWriter (установка 1252 в качестве формата кодировки), все специальные символы, такие как å , æ и ø , записываются как ? ]. Конечно, ANSI (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);
}
6
задан abatishchev 27 December 2010 в 15:41
поделиться