1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C# unicode 编码 和 解码

C# unicode 编码 和 解码

时间:2023-06-05 01:13:03

相关推荐

C# unicode 编码 和 解码

首先转换方面:

C#代码 byte[]bytes=System.Text.Encoding.UTF8.GetBytes(msgStr);bytes=Encoding.Convert(Encoding.UTF8,Encoding.Unicode,bytes);bytes=System.Text.Encoding.Unicode.GetBytes(msgStr);msgStr=System.Text.Encoding.GetEncoding("gb2312").GetString(Encoding.Convert(Encoding.Unicode,Encoding.GetEncoding("gb2312"),bytes));

编码:"\\uxxxx" 转换为"\uxxxx"

解码:"\uxxxx" 转换为"\\uxxxxx"

编码算法

C#代码 //UNICODE字符转为中文对这个方法做一点改进使他支持中英混排publicstaticstringConvertUnicodeStringToChinese(stringunicodeString){if(string.IsNullOrEmpty(unicodeString))returnstring.Empty;stringoutStr=unicodeString;Regexre=newRegex("\\\\u[0123456789abcdef]{4}",RegexOptions.IgnoreCase);MatchCollectionmc=re.Matches(unicodeString);foreach(Matchmainmc){outStr=outStr.Replace(ma.Value,ConverUnicodeStringToChar(ma.Value).ToString());}returnoutStr;}privatestaticcharConverUnicodeStringToChar(stringstr){charoutStr=Char.MinValue;outStr=(char)int.Parse(str.Remove(0,2),System.Globalization.NumberStyles.HexNumber);returnoutStr;}

解码:

C#代码 staticRegexreUnicode=newRegex(@"\\u([0-9a-fA-F]{4})",piled);publicstaticstringConvertChineseToUnicodeString(stringchinese){MatchCollectionmc=re.Matches(chinese);stringunicodeString="";foreach(Matchmainmc){charc;if(Short.TryParse(ma.Remove(0,1),System.Globalization.NumberStyles.HexNumber,CultureInfo.InvariantCulture,outc)){unicodeString+=("\\u"+c);}}returnunicodeString;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。