c# - 从大文本文件中读取 unicode 字符

标签 c# unicode

如何读取unicode字符?像“ä”

public static string Read(int length, string absolutePath)
{
    StringBuilder resultAsString = new StringBuilder();

    using (MemoryMappedFile memoryMappedFile = MemoryMappedFile.CreateFromFile(absolutePath))
    using (MemoryMappedViewStream memoryMappedViewStream = memoryMappedFile.CreateViewStream(0, length))
    {
        for (int i = 0; i < length; i++)
        {                  
            int result = memoryMappedViewStream.ReadByte();

            if (result == -1)
            {
                break;
            }
            char letter = (char)result;

            resultAsString.Append(letter);
        }
    }

    return resultAsString.ToString();
}

读取的 int(结果)是 195,char 转换给我的不是预期的结果。

最佳答案

不确定这是否是您要求的,但是,您可以使用 StreamReader

StreamReader sr = new StreamReader(stream, Encoding.Unicode);

关于c# - 从大文本文件中读取 unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55219972/

相关文章:

c++ unicode编写不起作用

python - 如何将变量传递给 unicode/raw (ur"") 转换函数

UnicodeDecodeError : unexpected end of data

c# - Windows 服务 - 它可以运行两个以不同时间间隔安排的独立任务吗

c# - 为什么我的 ajax 帖子被截断了?

mysql - 使用 utf8 的 MySQL 中列的字符串值不正确

unicode - Kendo UI 窗口不显示西里尔字符

c# - 如何在devexpress xtrareport中计算条件总和

c# - Closedxml:无法下载文件并立即通过邮件发送

c# - 免费安装程序是否可以轻松地将应用程序安装为 Windows 服务?