c# winform 汉字国标码、机内码、区位码的相互转换

您所在的位置:网站首页 汉字机内码等于汉字区位码 c# winform 汉字国标码、机内码、区位码的相互转换

c# winform 汉字国标码、机内码、区位码的相互转换

2024-07-08 06:29| 来源: 网络整理| 查看: 265

今天有一个朋友找我让我帮忙写一个程序,要实现汉字国标码、机内码、区位码的相互转换

转换关系:

国际码=区位码(十六进制)+2020H 机内码=国际码+8080H 

如此,我们就可以通过C#来实现这个程序

主要转换工作代码如下:

 

string jinei,guobiao,quwei; int gb,qw; //code[i / 2] = Convert.ToInt32(array[i], 16) * Convert.ToInt32(0x100, 16) + Convert.ToInt32(array[i+1], 16); jinei = Convert.ToString(array[i], 16) + Convert.ToString(array[i + 1], 16); gb = Convert.ToInt32(jinei, 16) - Convert.ToInt32("8080", 16); guobiao = Convert.ToString(gb,16); qw = gb - Convert.ToInt32("2020", 16); quwei = Convert.ToString(qw, 16); listBox1.Items.Add(textBox1.Text.Substring(i/2,1)+"的机内码是:"+jinei+",国标码是:"+guobiao+",区位码是:"+quwei);

全部代码:

 

 

private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "") { MessageBox.Show("请输入译码文字"); return; } int len; len = textBox1.Text.Length; byte[] array = System.Text.Encoding.Default.GetBytes(textBox1.Text); string s=""; // int[] code = new int[len]; for (int i = 0; i < array.Length;i=i+2 ) { string jinei,guobiao,quwei; int gb,qw; //code[i / 2] = Convert.ToInt32(array[i], 16) * Convert.ToInt32(0x100, 16) + Convert.ToInt32(array[i+1], 16); jinei = Convert.ToString(array[i], 16) + Convert.ToString(array[i + 1], 16); gb = Convert.ToInt32(jinei, 16) - Convert.ToInt32("8080", 16); guobiao = Convert.ToString(gb,16); qw = gb - Convert.ToInt32("2020", 16); quwei = Convert.ToString(qw, 16); listBox1.Items.Add(textBox1.Text.Substring(i/2,1)+"的机内码是:"+jinei+",国标码是:"+guobiao+",区位码是:"+quwei); } // MessageBox.Show(s); } }

程序提供下载:

 

     下载地址1:CSDN资源



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3