/**//// <summary> /// 半角转全角 /// </summary> /// <param name="BJstr"></param> /// <returns></returns> static public string GetQuanJiao(string BJstr) ...{ ...#region char[] c = BJstr.ToCharArray(); for (int i = 0; i < c.Length; i++) ...{ byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1); if (b.Length == 2) ...{ if (b[1] == 0) ...{ b[0] = (byte)(b[0] - 32); b[1] = 255; c[i] = System.Text.Encoding.Unicode.GetChars(b)[0]; } } } string strNew = new string(c); return strNew; #endregion } /**//// <summary> /// 全角转半角 /// </summary> /// <param name="QJstr"></param> /// <returns></returns> static public string GetBanJiao(string QJstr) ...{ ...#region char[] c = QJstr.ToCharArray(); for (int i = 0; i < c.Length; i++) ...{ byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, 1); if (b.Length == 2) ...{ if (b[1] == 255) ...{ b[0] = (byte)(b[0] + 32); b[1] = 0; c[i] = System.Text.Encoding.Unicode.GetChars(b)[0]; } } } string strNew = new string(c); return strNew; #endregion } 3、关于全角转半角的问题,在Unicode中,标点、数字、字母的半角编码最高位均为0,它们的全角编码与半角编码的第三位相差32h。