我在.NET中使用StreamReader类,如下所示:
using( StreamReader reader = new StreamReader( "c:\somefile.html", true ) {
string filetext = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)
当文件有BOM时,这可以正常工作.我遇到了没有BOM的文件的麻烦..基本上我得到了胡言乱语.当我指定Encoding.Unicode它工作正常,例如:
using( StreamReader reader = new StreamReader( "c:\somefile.html", Encoding.Unicode, false ) {
string filetext = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)
所以,我需要将文件内容转换为字符串.那么人们通常如何处理这个呢?我知道没有解决方案可以100%的时间工作,但我想提高我的赔率..显然有那些试图猜测的软件(例如,记事本,浏览器等)..NET框架中是否有一种方法可以猜测我?有没有人有他们想分享的代码?
更多背景:这个问题和我的问题差不多,但我在.NET领域.这个问题让我进入了一个列出各种编码检测库的博客,但没有一个在.NET中
给定一个字节数组(byte [])是否有任何快速(如简短和审美)的方式将其转换为字符串och字符数组?假设数组中的字节是以ascii表示的文本.
我现在在c#工作,找不到任何明显的方法.但我也对适用于任何现代编程语言的通用解决方案感兴趣.