C# 将文件保存到独立存储时设置自定义编码
我正在将下载的文件保存到独立存储中,我想将编码设置为iso-8859-1,因为我正在下载的xml文件是这样编码的C# 将文件保存到独立存储时设置自定义编码,c#,windows-phone-7,isolatedstorage,C#,Windows Phone 7,Isolatedstorage,我正在将下载的文件保存到独立存储中,我想将编码设置为iso-8859-1,因为我正在下载的xml文件是这样编码的 var stream = new IsolatedStorageFileStream("myfile.xml", FileMode.Create, FileAccess.Write, myIsolatedStorage); using (StreamWriter writeFile = new StreamWriter(stream)) { s
var stream = new IsolatedStorageFileStream("myfile.xml", FileMode.Create, FileAccess.Write, myIsolatedStorage);
using (StreamWriter writeFile = new StreamWriter(stream)) {
string xml_file = e.Result.ToString();
writeFile.WriteLine(xml_file);
writeFile.Close();
}
您正在将结果转换为字符串,以便将UTF-16写入流中。因此,无法匹配流和XML中的编码。您可以将响应流复制到独立的存储流
请不要使用字符串操作来构造、读取和写入XML。有很多相应的类可以正确地完成它。在您的情况下,您可能希望使用XmlDocument或XDocument读取XML,然后在创建XmlWriter时选择指定编码保存到流中。您正在将结果转换为字符串,以便将UTF-16写入流中。因此,无法匹配流和XML中的编码。您可以将响应流复制到独立的存储流
请不要使用字符串操作来构造、读取和写入XML。有很多相应的类可以正确地完成它。在您的情况下,您可能希望使用XmlDocument或XDocument读取XML,然后在创建XmlWriter时选择指定编码保存到流中。理想的解决方案是将文件作为流下载并直接保存到文件中,从而保持下载的字节不变(因此不需要进行文本编码转换)
此外,Windows Phone只支持一些基本的文本编码,如UTF8和Unicode;为了在WP中使用另一种编码,您必须使用该工具!理想的解决方案是将文件作为流下载并直接保存到文件中,从而保持下载的字节不变(因此不需要进行文本编码转换)!
另外,Windows Phone只支持一些基本的文本编码,如UTF8和Unicode;为了在WP中使用另一种编码,您必须使用该工具!我使用XDocument读取保存的文件…我从不写入它。我只是下载它并获取数据。也许…我可能误读了您保存到存储器的代码
string xml\u file=e.Result.ToString();
(对我来说也很像是将结果转换为字符串)。我正在使用XDocument读取保存的文件…我从不写入它。我只是下载它并获取数据。也许…我可能误读了保存到存储器的代码string xml\u file=e.Result.ToString();
(对我来说,也很像将结果转换为字符串)。听起来合理。是否可以将我从internet下载的文件直接保存到独立存储?是的,使用OpenReadAsync
,而不是DownloadStringAsync
;检查如何实现此目的!听起来合理。是否可以将我从internet下载的文件直接保存到独立存储?是的,而不是DownloadStringAsync
,使用OpenReadAsync
;检查如何实现这一点!