C#字串与Unicode互相转换方法
2012-11-13 17:22
267 查看
/// <summary> /// 将原始字串转换为unicode,格式为\u....\u.... /// </summary> /// <param name="srcText"></param> /// <returns></returns> private string StringToUnicode(string srcText) { string dst = ""; char[] src = srcText.ToCharArray(); for (int i = 0; i < src.Length; i++) { byte[] bytes = Encoding.Unicode.GetBytes(src[i].ToString()); string str = @"\u" + bytes[1].ToString("X2") + bytes[0].ToString("X2"); dst += str; } return dst; } /// <summary> /// 将Unicode字串\u....\u....格式字串转换为原始字符串 /// </summary> /// <param name="srcText"></param> /// <returns></returns> private string UnicodeToString(string srcText) { string dst = ""; string src = srcText; int len = srcText.Length / 6; for (int i = 0; i <= len - 1; i++) { string str = ""; str = src.Substring(0, 6).Substring(2); src = src.Substring(6); byte[] bytes = new byte[2]; bytes[1] = byte.Parse(int.Parse(str.Substring(0, 2), NumberStyles.HexNumber).ToString()); bytes[0] = byte.Parse(int.Parse(str.Substring(2, 2), NumberStyles.HexNumber).ToString()); dst += Encoding.Unicode.GetString(bytes); } return dst; }
string aa = QConnectSDK.CustomWebRequest.getResponse("http://192.168.28.64:1000/", QConnectSDK.Method.GET, null).Replace("charset=gb2312", "charset=utf-8"); //string utfStr = GB2312ToUtf8(aa); using (System.IO.StreamWriter sw = new System.IO.StreamWriter(Server.MapPath("~/2.htm"), false, Encoding.UTF8)) { sw.Write(aa); } } public string GB2312ToUtf8(string gb2312String) { Encoding fromEncoding = Encoding.GetEncoding("gb2312"); Encoding toEncoding = Encoding.UTF8; return EncodingConvert(gb2312String, fromEncoding, toEncoding); } public string Utf8ToGB2312(string utf8String) { Encoding fromEncoding = Encoding.UTF8; Encoding toEncoding = Encoding.GetEncoding("gb2312"); return EncodingConvert(utf8String, fromEncoding, toEncoding); } public string EncodingConvert(string fromString, Encoding fromEncoding, Encoding toEncoding) { byte[] fromBytes = fromEncoding.GetBytes(fromString); byte[] toBytes = Encoding.Convert(fromEncoding, toEncoding, fromBytes); string toString = toEncoding.GetString(toBytes); return toString; }
相关文章推荐
- C#字串与Unicode互相转换方法
- C#中文和UNICODE字符转换方法
- string 和 wstring 互相转换的方法(即 Ansi & Unicode 在标准库下的互转)
- C#中二进制、十进制和十六进制互相转换的方法
- C#实现HTML和UBB互相转换的方法
- Unicode互相转换方法
- C#中二进制、十进制和十六进制互相转换的方法
- C#实现实体类与字符串互相转换的方法
- 字符串和(Unicode)十六进制数之间的转换方法包含(C#和VB6)
- 百度地图和高德地图坐标系的互相转换 四种Sandcastle方法生成c#.net帮助类帮助文档 文档API生成神器SandCastle使用心得 ASP.NET Core
- .Net(c#)汉字和Unicode编码互相转换
- C#中文和UNICODE字符转换方法
- JavaScript中字符串与Unicode编码互相转换的实现方法
- C#字符串与unicode互相转换
- C#实现实体类与字符串互相转换的方法
- JavaScript中字符串与Unicode编码互相转换的实现方法
- 字符串和(Unicode)十六进制数之间的转换方法包含(C#和VB6)
- C#: 中文和UNICODE字符转换方法 及仿安居客地图实现。。。错误 GMap2未定义 解决办法 -VB 中文转为UNICODE字符
- .Net(c#)汉字和Unicode编码互相转换
- C#实现实体类与字符串互相转换的方法