string a = "0152656420616E540000000000000000000041006400000000000000095B5265445D4E614461000000000000000148016400000000000000"a里面的是16进制数据
怎么吧a 转化成 中文 呢??
怎么吧a 转化成 中文 呢??
解决方案 »
- 关于Windows服务安装的问题
- WCF后台怎么控制客户端访问用户数?
- 请教各位高手,找个软件如果用c#来做事咋个实现呢?
- 声音文件的分割和合成
- 在windows窗体程序中实现在form2中点击button1,关闭form2,并显示form1中button1
- 大家进来讨论一下用SOCKET发送文件的速度问题
- 如何在系统的窗体上添加自己的窗体
- Visual C#.NET左侧的工具箱是用什么控件做的?
- 我想在一个STATIC里面用定时器出问题了,大家帮我看看吧!
- 高分求解:创建asp.net web应用程序时的问题
- GDI+ 中发生一般性错误
- 在winform里如何用代码实现SQL Server 的启动和停止?
while (i < a.Length)
{
bytes[r] = byte.Parse(a.Substring(i, 2), System.Globalization.NumberStyles.HexNumber);
i += 2;
r++;
} string s = System.Text.Encoding.Default.GetString(bytes);
Console.WriteLine(s);
while (i < a.Length)
{
ints[r] = int.Parse(a.Substring(i, 4), System.Globalization.NumberStyles.HexNumber);
i += 4;
r++;
}
string s = "";
char sd;
foreach(int df in ints)
{
sd = Convert.ToChar(df);
if((int)sd == 0) continue;
s = s + sd.ToString();
}
MessageBox.Show(s);
weisunding(鼎鼎) 写的方法是正确的,不过有个漏洞如果bytes[r]='\0'的时候后面的字符会被截取掉,所以,建议在while 循环中加入if(bytes[r] == '\0') bytes[r] = (byte)' ';将'\0'换成空格或者其他字符