打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
c#区位码与汉字相互转换


区位码用四位数字表示,前两位称区码(01到94),后两位称位码(01到94)。

一个汉字的前一半是ASCII码为“160+区码”的字符,后一半是ASCII友为“160+位码”的字符。

汉字转区位码的过程:

首先得到汉字的字节数组,将字节数组的第一位和第二位分别减160,再连接成字符串就组成汉字区位码。

  1. /// <summary>  
  2. /// 汉字转区位码方法  
  3. /// </summary>  
  4. /// <param name="chinese">汉字</param>  
  5. /// <returns>区位码</returns>  
  6. public string ChineseToCoding(string chinese)  
  7. {  
  8.     string pCode = "";  
  9.     byte[] pArray = new byte[2];  
  10.     pArray = Encoding.Default.GetBytes(chinese);//得到汉字的字节数组  
  11.     int front = (short)(pArray[0] - '\0')-160;//将字节数组的第一位160  
  12.     int back = (short)(pArray[1] - '\0') - 160;//将字节数组的第二位160  
  13.     pCode = front.ToString() + back.ToString();//再连接成字符串就组成汉字区位码  
  14.     return pCode;  
  15. }  

区位码转汉字的过程:

首先将区位码分为两部分,前两位和后两位分别加160,再存入字节数组,最后转成汉字。

  1. /// <summary>  
  2. /// 区位码转汉字方法  
  3. /// </summary>  
  4. /// <param name="coding">区位码</param>  
  5. /// <returns>汉字</returns>  
  6. public string CodingToChinese(string coding)  
  7. {  
  8.     string chinese = "";  
  9.   
  10.     byte[] pArray = new byte[2];  
  11.     string front = coding.Substring(0, 2);//区位码分为两部分  
  12.     string back = coding.Substring(2, 2);  
  13.     pArray[0] = (byte)(Convert.ToInt16(front) + 160);//前两位加160,存入字节数组  
  14.     pArray[1] = (byte)(Convert.ToInt16(back) + 160);//后两位加160,存入字节数组  
  15.     chinese = Encoding.Default.GetString(pArray);//由字节数组获得汉字  
  16.     return chinese;  
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
.net实现验证码功能
用C#生成中文汉字验证码的基本原理
C#生成中文汉字验证码源码
用.NET获取汉字的区位码 .
用.NET获取汉字的区位码(c#)_.net技术
delphi将string字符串转化成byte[]字节数组
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服