我通過UDP查詢Quake3主服務器,並得到如下響應。 正如你所看到的,我很難搞清楚服務器發送的內容的編碼...... 有沒有什麼辦法來檢測或設置接收編碼?
baBuffer = new byte[1024*100]; // 100 kb should be enough
int recv = sctServerConnection.ReceiveFrom(baBuffer, ref tmpRemote);
Console.WriteLine("Message received from {0}:", tmpRemote.ToString());
System.Text.Encoding encResponseEncoding = System.Text.Encoding.Default; // Wrong...
//encResponseEncoding = System.Text.Encoding.ASCII;
//encResponseEncoding = System.Text.Encoding.UTF8;
//encResponseEncoding = System.Text.Encoding.GetEncoding(437); // ANSI-DOS
//encResponseEncoding = System.Text.Encoding.GetEncoding(1252);// ANSI-WestEurope
//encResponseEncoding = System.Text.Encoding.GetEncoding(1250); // Ansi-Centraleuro
//encResponseEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
//encResponseEncoding = System.Text.Encoding.GetEncoding("ISO-8859-9");
//encResponseEncoding = System.Text.Encoding.UTF32;
encResponseEncoding = System.Text.Encoding.UTF7; // Bingo !
只適用於文件。但是,謝謝! – 2010-01-17 07:16:04