c#区位码与汉字相互转换
转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688
区位码用四位数字表示,前两位称区码(01到94),后两位称位码(01到94)。
一个汉字的前一半是ASCII码为“160+区码”的字符,后一半是ASCII友为“160+位码”的字符。
汉字转区位码的过程:
首先得到汉字的字节数组,将字节数组的第一位和第二位分别减160,再连接成字符串就组成汉字区位码。
/// <summary>
/// 汉字转区位码方法
/// </summary>
/// <param name="chinese">汉字</param>
/// <returns>区位码</returns>
public string ChineseToCoding(string chinese)
{
string pCode = "";
byte[] pArray = new byte[2];
pArray = Encoding.Default.GetBytes(chinese);//得到汉字的字节数组
int front = (short)(pArray[0] - '\0')-160;//将字节数组的第一位160
int ba