C#实现⼗六进制Unicode编码字符串转换为汉字
⽹上了⼏个⽅法,但是运⾏之后会报错,提⽰要解析的字符串格式不正确。然后我猜想可能是传⼊的字符
串 \u60a8\u4eca\u65e5\u5df2\u7b7e\u5230 中带"\"的原因,加了⼀⾏ strDecode=strDecode.Replace("\\",""); 把斜杠去掉,果然,解析成功了。
///<summary>
///作⽤:将16进制数据编码转化为字符串,是Encode的逆过程
///</summary>
unicode汉字///<param name="strDecode"></param>
///<returns></returns>
public static string DecodeHexadecimalToStr(string strDecode)
{
string outStr = "";
strDecode=strDecode.Replace("\\","");
if (!string.IsNullOrEmpty(strDecode))
{
string[] strlist = strDecode.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;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论