saidas. Procure por console.writeline ou console.out.writeline dentro de todos os metodos DumpStatus e comente.E Finalmente a classe Program.cs onde faco os testes. Compile o programa e execute-o pela linha de comando, passando como argumento o nome de um dos arquivos da pasta data ou um que voce tenha ai. Mandei junto com o exemplo um executavel hexeditor.exe para que voce veja como a codificacao de um caractere acentuado pode mudar dependendo do encoding usado. Para debugar voce pode colocar um nome de arquivo fixo, usar parametros da linha de comando, usar testes unitarios ou usar um FileOpenDialog. Aproveite tambem os varios arquivos de testes que vem com os testes unitarios do UDE.//programusing System;using System.Collections.Generic;using System.Linq;using System.Text;using href.Utils;using KlerksSoft;using Mozilla.CharDet;using Ude;namespace EncodeDetector{ class Program { static void Main(string[] args) { if (args.Count() == 0) { Console.WriteLine("Informe um arquivo"); return; } //limpa o console Console.Clear(); Console.WriteLine("Econding detectado para o arquivo: " + args[0]); Console.WriteLine(""); //crio o vetor de bytes com o conteudo do arquivo byte[] queEuGosto = TextUtils.FileToBytes(args[0]); #region encoding tools //Usando encoding tools //fonte:http://www.codeproject.com/KB/recipes/DetectEncoding.aspx Encoding enc1 = EncodingTools.DetectInputCodepage(queEuGosto); if (enc1 != null) Console.WriteLine("Encoding Tools\t-->\t" + enc1.EncodingName + "/" + enc1.BodyName + "/" + enc1.CodePage); #endregion #region TextFileEncodingDetector //fonte: https://gist.github.com/TaoK/945127 Encoding enc2 = TextFileEncodingDetector.DetectTextByteArrayEncoding(queEuGosto); if (enc2 != null) Console.WriteLine("TextFileEncodingDetector\t-->\t" + enc2.EncodingName + "/" + enc2.BodyName + "/" + enc2.CodePage); #endregion #region chardet //fonte: http://code.google.com/p/chardetsharp/ var d = new UniversalDetector(); d.HandleData(queEuGosto); d.DataEnd(); Encoding enc3 = Encoding.GetEncoding( d.DetectedCharsetName); if (enc3 != null) Console.WriteLine("CharDet\t-->\t" + enc3.EncodingName + "/" + enc3.BodyName + "/" + enc3.CodePage); #endregion #region UDE via VtrEncodingDetector wrapper //usando um wrapper para UDE Encoding enc4 = VtrEncodingDetector.GetEncodingFile(queEuGosto); if (enc4 != null) Console.WriteLine("VtrEncodingDetector\t-->\t" + enc4.EncodingName + "/" + enc4.BodyName + "/" + enc4.CodePage); #endregion #region UDE direto //uando UDE direto //fonte: http://code.google.com/p/ude/ CharsetDetector cdet = new CharsetDetector(); cdet.Feed(queEuGosto, 0, queEuGosto.Length); cdet.DataEnd(); Encoding enc5 = Encoding.GetEncoding(cdet.Charset); if (enc5 != null) { Console.WriteLine("UDE\t-->\t" + enc5.EncodingName + "/" + enc5.BodyName + "/" + enc5.CodePage + " Com confiabilidade de " + (cdet.Confidence * 100).ToString("0.0") + "%"); foreach (var x in cdet.CharsetProbers) { if (x != null) Console.WriteLine("\t- " + x.GetCharsetName() + "\t" + (x.GetConfidence() * 100).ToString("0.00")); } } cdet.Reset(); #endregion //so para podermos ver o resultado //Console.ReadLine(); } }}No arquivo desse exemplo enpacotei junto o source e a versao compilada da UDE e da chardet. Ha tambem alguns arquivos de texto em encodings diferentes para teste.Divirta-se!