【发布时间】:2011-05-20 02:45:31
【问题描述】:
我正在尝试用 C# 编写一个程序,它将包含多个联系人的 vCard (VCF) 文件拆分为每个联系人的单独文件。我了解 vCard 需要保存为 ANSI (1252) 格式,以便大多数手机读取。
但是,如果我使用 StreamReader 打开一个 VCF 文件,然后使用 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);
}
【问题讨论】:
标签: c# .net unicode character-encoding windows-1252