0

我正在使用带有 http 助手的 c# 并使用流阅读器来阅读文本。但是当我上传包含此文本的文本文件时

“看看我在@eBay 上找到了什么!Willy Lee LifeLike Chatting Butler Prop Motion Sen”

该空间由“�”替换并在代码中使用。

阅读文本的代码是:-

        List<string> list = new List<string>();
        StreamReader reader = new StreamReader(filepath);
        string text = "";
        while ((text = reader.ReadLine()) != null)
        {
            if (!string.IsNullOrEmpty(text))
            {
                list.Add(text); 
            }
        }
        reader.Close();
        return list;

列表包含此数据-“看…​​…到底……什么……我在……@……eBay!……Willy……Lee……LifeLike……聊天……Butler……Prop……Motion……Sen”

4

1 回答 1

0

看起来像编码问题 - 当文本被多字节编码并显示在基于非 unicode 的网页(如 Windows-1252 或 CP-125X 等)中时,我遇到了这样的文本问题。

这里看起来一样 - 文本看起来是UTF-8 编码并以 ansi 模式显示,所以这里的空格是“特殊”空格,就像这些 M$ Word 有时放的那样,英文字符是单字节的,因为是 UTF-8 格式(对于 ASCII 代码 128 以下的所有字符),这意味着它们与 ANSI 代码表兼容并且可以正确显示。

或者选项2,如果它写在一个文件中,并且这个文本是这样保存的,一开始没有BOM,文本编辑器可能不理解上下文是unicode并以ansi /regular ascii mode/打开它。

如果您提供更多详细信息,从读取数据的位置以及保存和打开的位置,我可以提供更具体的细节。

于 2012-07-11T12:47:55.143 回答