【发布时间】:2013-08-14 22:06:57
【问题描述】:
我正在尝试读取我的 Windows 8 应用商店应用程序中的文件。这是我用来实现此目的的代码片段:
if(file != null)
{
var stream = await file.OpenAsync(FileAccessMode.Read);
var size = stream.Size;
using(var inputStream = stream.GetInputStreamAt(0))
{
DataReader dataReader = new DataReader(inputStream);
uint numbytes = await dataReader.LoadAsync((uint)size);
string text = dataReader.ReadString(numbytes);
}
}
但是,在以下行抛出异常:
string text = dataReader.ReadString(numbytes);
异常信息:
No mapping for the Unicode character exists in the target multi-byte code page.
我是怎么做到的?
【问题讨论】:
-
不寻常,我不认为 WinRT 仍然处理多字节编码。然而,它确实指向一个未正确编码的文本文件。
标签: file-io windows-8 windows-runtime datareader