gpt4 book ai didi

c# - 带有 StreamReader 的 Windows Phone 8 上的特殊字符

转载 作者:太空宇宙 更新时间:2023-11-03 10:47:34 25 4
gpt4 key购买 nike

我想用 StreamReader 读取一个 txt 文件,然后将它交给 TextBlock。该代码适用于 Windows Phone 应用程序,使用 C# 编写:

var resource = System.Windows.Application.GetResourceStream(new Uri("File.txt", UriKind.Relative));
StreamReader sreader = new StreamReader(resource.Stream);

while ((line = sreader.ReadLine()) != null)
{
TextBlock.Text = sreader.ReadLine();
}

这会将文件中的所有文本读取到我的 TextBlock,但其中有特殊字符,例如 ä 或 ü 或 ö,它们不会显示在 TextBlock 中。如何在我的 TextBlock 中显示这些字符?

最佳答案

尝试定义StreamReaderencoding - 例如 UTF8:

using (StreamReader sreader = new StreamReader(resource.Stream, System.Text.Encoding.UTF8))
{
while ((line = sreader.ReadLine()) != null)
TextBlock.Text = sreader.ReadLine();
}

此外,将您的 StreamReader 放入 using 中也很有用,因为它是 IDisposable


如果你需要UTF8或Unicode之外的其他编码,那么你可以尝试使用this program生成编码。

正在关注 this answer您应该粘贴生成的代码,然后将其用于您的 StreamReader(我没有尝试过):

Encoding myEncoding = new GeneratedEncoding();

然后:

using (StreamReader sreader = new StreamReader(resource.Stream, myEncoding))

关于c# - 带有 StreamReader 的 Windows Phone 8 上的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22838258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com