实现16进制转换为中文字符,但运行出来时乱码,请各位大侠指点一下,谢谢!
private string GetGB(string HexStr)
{
byte[] oribyte = new byte[HexStr.Length/2];
for(int i=0;i<HexStr.Length;i+=2)
{
string str = Convert.ToInt32(HexStr.Substring(i,2),16).ToString();
oribyte[i/2] = Convert.ToByte(HexStr.Substring(i,2),16);
}
return System.Text.Encoding.Default.GetString(oribyte); }
private string GetGB(string HexStr)
{
byte[] oribyte = new byte[HexStr.Length/2];
for(int i=0;i<HexStr.Length;i+=2)
{
string str = Convert.ToInt32(HexStr.Substring(i,2),16).ToString();
oribyte[i/2] = Convert.ToByte(HexStr.Substring(i,2),16);
}
return System.Text.Encoding.Default.GetString(oribyte); }
System.Text.Encoding.Utf8.GetString(oribyte);
或者
System.Text.Encoding.ASCII.GetString(oribyte);多试几次就好了.
我的button是这样的:
private void button1_Click(object sender, System.EventArgs e)
{
this.label1.Text = this.GetGB(this.textBox1.Text);
}
应该也没有问题吧?
编程俱乐部11.9正式成立
我是QQ84476972中介者:MARLN(C#标准菜鸟一个)
本中介不只是针对C#一门语言,还有JAVA ASP.NET XML DHTML等流行语言!
希望编程界老大们多多散播知识,我会在CSDN 等广大网站搜索资料来帮助我们菜鸟一族学习语言
!
恳请加盟!