WinRT No mapping for the Unicode character exists in the target multi-byte code page

I managed to read file correctly using similar approach to suggested by duDE:

        if(file != null)
        {
            IBuffer buffer = await FileIO.ReadBufferAsync(file);
            DataReader reader = DataReader.FromBuffer(buffer);
            byte[] fileContent = new byte[reader.UnconsumedBufferLength];
            reader.ReadBytes(fileContent);
            string text = Encoding.UTF8.GetString(fileContent, 0, fileContent.Length);
        }

Can somebody please elaborate, why my initial approach didn't work?


Try this instead of string text = dataReader.ReadString(numbytes):

dataReader.ReadBytes(stream);
string text = Convert.ToBase64String(stream);