如何在C#中读取Word文档,使其显示为在记事本中打开

如何在C#中读取Word文档,使其显示为在记事本中打开,c#,ms-word,streamreader,doc,notepad,C#,Ms Word,Streamreader,Doc,Notepad,我正在尝试读取C#中的Word文档,然后在文本框中显示结果。但是我不想只读文本,而是读整个文件,包括特殊字符。我需要它与我在记事本中打开同一文件时显示的结果完全匹配 我通过使用StreamReader获得了最接近的结果。请注意,为了显示任何结果,您必须执行以下操作。然而,结果仍然不是100%正确-一些字符的解释(?)不同于我直接在记事本中打开文档。关于如何处理此问题的任何想法?可能取决于文本的编码:msdn.microsoft.com/en-us/library/system.text.enco

我正在尝试读取C#中的Word文档,然后在文本框中显示结果。但是我不想只读文本,而是读整个文件,包括特殊字符。我需要它与我在记事本中打开同一文件时显示的结果完全匹配


我通过使用StreamReader获得了最接近的结果。请注意,为了显示任何结果,您必须执行以下操作。然而,结果仍然不是100%正确-一些字符的解释(?)不同于我直接在记事本中打开文档。关于如何处理此问题的任何想法?

可能取决于文本的编码:msdn.microsoft.com/en-us/library/system.text.encoding.aspx,例如:encoding.ASCII.GetString(text);使用链接中的示例


仅仅发布这个,因为它最终似乎有所帮助:)

可能取决于文本的编码:例如:Encoding.ASCII.GetString(text);使用链接中的示例。哪些字符不同?例如,记事本显示字符Unicode 255(有点像上面带点的“y”)、208(看起来像欧元符号)和207(?);StreamReader显示的是Unicode 65533,这是一个替换字符。我想我明白了——非常感谢@ben mcdougall。代码
byte[]data=File.ReadAllBytes(fileName)
text=Encoding.Default.GetString(data)
似乎已经成功了。结果文本与记事本(几乎)完美匹配!(事实上,记事本似乎看不到更多的文本,末尾多了1800个字符,主要是表示这是一个“Microsoft Office Word 97-2003文档”。)很高兴我能提供帮助;)