【100分】讨论一下关于reflector反编译生成的文件中中文显示的问题
当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;
问题点数:100、回复次数:5Top
1 楼chuyf(楚云飞)回复于 2006-03-04 15:05:06 得分 0
我的程序转换出来的结果
我估计不对吧:
MessageBox.Show("udentChoice Into @StudentNo,@SubjectKey,@SelectState,@Sele");Top
2 楼iuhxq(小灰)回复于 2006-03-04 15:26:28 得分 20
源代码里是这样,但编译结果是汉字Top
3 楼chuyf(楚云飞)回复于 2006-03-04 15:35:17 得分 0
? 没明白你的意思?!,
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");
是我转换出来的结果,我估计是错误的
不知道大家转换的结果是多少?!
Top
4 楼lovebanyi(风云)回复于 2006-03-04 17:11:42 得分 80
这样转当然是错误码的了..你要把\u先去掉..然后建立一个bytd数组..比如你的\u7500 75先放上去.接着再放下一个00这样就可以转出来了. (有可能是00先放你测一下)
====淡泊以明志,宁静以致远====
Top
5 楼chuyf(楚云飞)回复于 2006-03-04 20:51:55 得分 0
我的程序是这样做的,分割字符串那部分我没贴,我只贴了从 7500 转成中文的过程
我转出来是uTop




