07 E0 0B 35 07 E0 0B 35 07 E0 0B 35 07 E0 0B 35 07 E0 0B 35 EC EF EC EF EC EF EC EF EC EF 66 66 66 66 66 A6 77 B5 58 A9 D4 2E 20 2E A6 CC A7 C6 A8 C8 A4 40 A9 77 B7 7C A6 75 C5 40 B5 DB A7 DA AD CC AA BA A1 41 AE F8 B7 C0 AD DF A4 FD AA BA B8 F4 C1 D9 AB DC AA F8 A1 41 A7 DA AD CC A4 40 B0 5F A5 5B AA 6F A7 61 A1 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00内容可能是以下的这个:安琪拉..米希亚一定会守护着我们的,消灭冥王的路还是很长,我们一起加油吧!现在问题就不知道如何读取成汉字,我用过 public class Big5toGB2312
       {           [DllImport("kernel32.dll", EntryPoint = "LCMapStringA")]           public static extern int LCMapString(int Locale, int dwMapFlags, byte[] lpSrcStr, int cchSrc, byte[] lpDestStr, int cchDest);           const int LCMAP_SIMPLIFIED_CHINESE = 0x02000000;           const int LCMAP_TRADITIONAL_CHINESE = 0x04000000;           public static String ConvertString(String lines)
           {               Encoding gb2312 = Encoding.GetEncoding(936);               byte[] src = gb2312.GetBytes(lines);               byte[] dest = new byte[src.Length];               LCMapString(0x0804, LCMAP_SIMPLIFIED_CHINESE, src, -1, dest, src.Length);               return gb2312.GetString(dest);           }       }
读出来是乱码,有人帮帮手吗?
分是成功后再加的

解决方案 »

  1.   

    big5编码,前面有一段是乱码string s = "07 E0 0B 35 07 E0 0B 35 07 E0 0B 35 07 E0 0B 35 07 E0 0B 35 EC EF EC EF EC EF EC EF EC EF 66 66 66 66 66 A6 77 B5 58 A9 D4 2E 20 2E A6 CC A7 C6 A8 C8 A4 40 A9 77 B7 7C A6 75 C5 40 B5 DB A7 DA AD CC AA BA A1 41 AE F8 B7 C0 AD DF A4 FD AA BA B8 F4 C1 D9 AB DC AA F8 A1 41 A7 DA AD CC A4 40 B0 5F A5 5B AA 6F A7 61 A1 49 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00";
    var buf = s.Split().Select(i => Convert.ToByte(i, 16));
    string r = Encoding.GetEncoding("big5").GetString(buf.ToArray());
      

  2.   

    Lamada语法
    FileStream fs = new FileStream(@"", FileMode.Open);读取dat
      

  3.   

    i代表按空格分割字符串后的每个子串,也就是“07”,“E0”这些数据看下msdn的linq和lambda表达式
      

  4.   

    dat文件都是自定义格式的,很难分析
    最开始重复5次07 E0 0B 35,肯定不是文字,去掉,然后重复5次EC EF,重复5次66,这些都要去掉
      

  5.   

    结贴,谢谢!
    最后的方法我用这种
                        byte[] chinaStr = new byte[254];
                        Array.Copy(desBytes, i+35, chinaStr, 0, chinaStr.Length);
                        listBox1.Items.Add(Encoding.GetEncoding("big5").GetString(chinaStr));
                        Application.DoEvents();