求教怎么将\u编码转中文
求教如何将\u编码转中文
网上找了一些方法,但是总提示:无法将 lambda 表达式 转换为类型“string”,原因是它不是委托类型
方法如下:
public static string Decode(string s)
{
Regex reUnicode = new Regex(@"\\u([0-9a-fA-F]{4})", RegexOptions.Compiled);
return reUnicode.Replace(s, m =>
{
short c;
if (short.TryParse(m.Groups[1].Value, System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture, out c))
{
return "" + (char)c;
}
return m.Value;
});
}
顺便请教下热心人,这个方法里面的m =>{...}指的是,还有if()里面的判断又带表什么呢,新手,望指教。。
------解决思路----------------------
把你的DeUnicode替换一下就可以了,我试了没报错
m=>代码的意思就是找到所有的\uxxxx,转换为short类型,如果不能转就原样输出
static public string DeUnicode(string s)
{
Regex reUnicode = new Regex(@"\\u([0-9a-fA-F]{4})", RegexOptions.Compiled);
return reUnicode.Replace(s, m =>
{
short c;
if (short.TryParse(m.Groups[1].Value, System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture, out c))
{
return "" + (char)c;
}
return m.Value;
});
}
网上找了一些方法,但是总提示:无法将 lambda 表达式 转换为类型“string”,原因是它不是委托类型
方法如下:
public static string Decode(string s)
{
Regex reUnicode = new Regex(@"\\u([0-9a-fA-F]{4})", RegexOptions.Compiled);
return reUnicode.Replace(s, m =>
{
short c;
if (short.TryParse(m.Groups[1].Value, System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture, out c))
{
return "" + (char)c;
}
return m.Value;
});
}
顺便请教下热心人,这个方法里面的m =>{...}指的是,还有if()里面的判断又带表什么呢,新手,望指教。。
------解决思路----------------------
把你的DeUnicode替换一下就可以了,我试了没报错
m=>代码的意思就是找到所有的\uxxxx,转换为short类型,如果不能转就原样输出
static public string DeUnicode(string s)
{
Regex reUnicode = new Regex(@"\\u([0-9a-fA-F]{4})", RegexOptions.Compiled);
return reUnicode.Replace(s, m =>
{
short c;
if (short.TryParse(m.Groups[1].Value, System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture, out c))
{
return "" + (char)c;
}
return m.Value;
});
}