当reflector 反编译之后,所有的中文信息都被显示为\uXXXX的形式
我在网上找了许多关于unicode转换为中文显示的例子,也自己动手实现了一个
却发现总是不好用,对于网上的一些例子所给的比如都能成功转换,但对于
reflector反编译出来的中文信息总是不好用
请教高手,有没有已经实现的能够处理reflector这类中文的软件或算法或方法
(最好已经实践成功)
我抛砖引玉,写一下自己用的:
(代码来源于网上:) 
此代码能把\uXXXX的转换成英语,但不能看到中文(部分可以,我用reflector要的不行)我要反编译的代码示例:
       MessageBox.Show("\u7500\u6400\u6500\u6e00\u7400\u4300\u6800\u6f00\u6900\u6300\u6500\u2000\u4900\u6e00\u7400\u6f00\u2000\u4000\u5300\u7400\u7500\u6400\u6500\u6e00\u7400\u4e00\u6f00\u2c00\u4000\u5300\u7500\u6200\u6a00\u6500\u6300\u7400\u4b00\u6500\u7900\u2c00\u4000\u5300\u6500\u6c00\u6500\u6300\u7400\u5300\u7400\u6100\u7400\u6500\u2c00\u4000\u5300\u6500\u6c00\u6500");
          byte[] bytes = new byte[2];
string lowCode = coding.Substring(i, 2); //取出低字节,并以16进制进制转换
bytes[0] = System.Convert.ToByte(lowCode, 16);
string highCode = coding.Substring(i + 2, 2); //取出高字节,并以16进制进行转换
bytes[1] = System.Convert.ToByte(highCode, 16);
string character = System.Text.Encoding.Unicode.GetString(bytes);
characters += character;

解决方案 »

  1.   

    我的程序转换出来的结果
    我估计不对吧:MessageBox.Show("udentChoice Into @StudentNo,@SubjectKey,@SelectState,@Sele");
      

  2.   

    ? 没明白你的意思?!,       MessageBox.Show("\u7500\u6400\u6500\u6e00\u7400\u4300\u6800\u6f00\u6900\u6300\u6500\u2000\u4900\u6e00\u7400\u6f00\u2000\u4000\u5300\u7400\u7500\u6400\u6500\u6e00\u7400\u4e00\u6f00\u2c00\u4000\u5300\u7500\u6200\u6a00\u6500\u6300\u7400\u4b00\u6500\u7900\u2c00\u4000\u5300\u6500\u6c00\u6500\u6300\u7400\u5300\u7400\u6100\u7400\u6500\u2c00\u4000\u5300\u6500\u6c00\u6500");是我反编译出来的源码,我估计里面应该是汉字
    MessageBox.Show("udentChoice Into @StudentNo,@SubjectKey,@SelectState,@Sele");
    是我转换出来的结果,我估计是错误的不知道大家转换的结果是多少?!
      

  3.   

    这样转当然是错误码的了..你要把\u先去掉..然后建立一个bytd数组..比如你的\u7500 75先放上去.接着再放下一个00这样就可以转出来了. (有可能是00先放你测一下)====淡泊以明志,宁静以致远====