/// <summary> /// 中文转unicode /// </summary> /// <param name="str"></param> /// <returns></returns> public static string unicode_0(string str) { string outStr = ""; if (!string.IsNullOrEmpty(str)) { for (int i = 0; i < str.Length; i++) { outStr += "/u" + ((int)str[i]).ToString("x"); } } return outStr; } /// <summary> /// 汉字转为Unicode编码 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string bgktounicode(string str) { string outstr = ""; //汉字转为Unicode编码: string hz = str; byte[] b = Encoding.Unicode.GetBytes(hz); string o = ""; foreach (var x in b) { o += string.Format("{0:X2}", x) + " "; } outstr = o; return outstr; } /// <summary> /// unicode转中文 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string unicode_1(string str) { string outStr = ""; if (!string.IsNullOrEmpty(str)) { string[] strlist = str.Replace("/", "").Split(‘u‘); try { for (int i = 1; i < strlist.Length; i++) { //将unicode字符转为10进制整数,然后转为char中文字符 outStr += (char)int.Parse(strlist[i], System.Globalization.NumberStyles.HexNumber); } } catch (FormatException ex) { outStr = ex.Message; } } return outStr; } /// <summary> /// unicode转中文(符合js规则的) /// </summary> /// <param name="str"></param> /// <returns></returns> public static string unicode_js_1(string str) { string outStr = ""; Regex reg = new Regex(@"(?i)\\u([0-9a-f]{4})"); outStr = reg.Replace(str, delegate(Match m1) { return ((char)Convert.ToInt32(m1.Groups[1].Value, 16)).ToString(); }); return outStr; } /// <summary> /// 中文转unicode(符合js规则的) /// </summary> /// <param name="str"></param> /// <returns></returns> public static string unicode_js_0(string str) { string outStr = ""; string a = ""; if (!string.IsNullOrEmpty(str)) { for (int i = 0; i < str.Length; i++) { if (Regex.IsMatch(str[i].ToString(), @"[\u4e00-\u9fa5]")) { outStr += "\\u" + ((int)str[i]).ToString("x"); } else { outStr += str[i]; } } } return outStr; } /// <summary> /// 骞垮憡涓戦椈 /// </summary> /// <param name="utf8String"></param> /// <returns></returns> public static string unicodeTogbk(string utf8String) { string defaultString = ""; Encoding utf8 = Encoding.UTF8; Encoding defaultCode = Encoding.Default; // Convert the string into a byte[]. byte[] utf8Bytes = Encoding.Default.GetBytes(utf8String); // Perform the conversion from one encoding to the other. byte[] defaultBytes = Encoding.Convert(utf8, defaultCode, utf8Bytes); // Convert the new byte[] into a char[] and then into a string. // This is a slightly different approach to converting to illustrate // the use of GetCharCount/GetChars. char[] defaultChars = new char[defaultCode.GetCharCount(defaultBytes, 0, defaultBytes.Length)]; defaultCode.GetChars(defaultBytes, 0, defaultBytes.Length, defaultChars, 0); defaultString = new string(defaultChars); return defaultString; } /// <summary> /// 骞垮憡涓戦椈 /// </summary> /// <param name="utf8String"></param> /// <returns></returns> public static string unicodeTogbkb(string utf8String) { string strBuffer = ""; byte[] buffer1 = Encoding.Default.GetBytes(utf8String); byte[] buffer2 = Encoding.Convert(Encoding.UTF8, Encoding.Default, buffer1, 0, buffer1.Length); strBuffer = Encoding.Default.GetString(buffer2, 0, buffer2.Length); return strBuffer; }
时间: 2024-10-12 23:49:38