Я пытаюсь написать программу на 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);
}