7,540
社区成员
发帖
与我相关
我的任务
分享
using System.Linq;
var bytes = src.Split(new string[] { "\\u" }, StringSplitOptions.RemoveEmptyEntries);
var result = new string(bytes.Select(x => (char)Convert.ToInt16(x, 16)).ToArray());
但是要搞懂原理,理解为什么要使用"\\u” 而不是 "\u“ 来分割 char 数组。要搞懂这个道理。string src = "\\u59d3\\u540d\\u4e0d\\u5408\\u6cd5";
收到的是这样的内容,而不是string src = "\u59d3\u540d\u4e0d\u5408\u6cd5"
这样的。
byte[] srcarr = Encoding.Default.GetBytes("\u59d3\u540d\u4e0d\u5408\u6cd5");
byte[] desarr = Encoding.Convert(Encoding.Default, Encoding.UTF8, srcarr);
string s = Encoding.UTF8.GetString(desarr, 0, desarr.Length);
这个怎样,好使不