我正在尝试用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);
}