UTF8編碼轉為中文字符串(c#)


如何將\x開頭的編碼轉換為字符串,如下數據:
var data = @"{\x22Province\x22:\x22\xE6\x9D\xAD\xE5\xB7\x9E\xE5\xB8\x82\x22}";

邏輯:
1、將\xdd的數據提取出來;
2、通過\x分隔出每個Char字符,即dd;
3、將得到的Char數組轉換為byte數組;
4、通過UTF8編碼獲取原始字符串;

轉換代碼如下所示:

var data = @"{\x22Province\x22:\x22\xE6\x9D\xAD\xE5\xB7\x9E\xE5\xB8\x82\x22}";
var result = Regex.Replace(data, @"((\\x\w{2})+)",data => {
    var value = data.Groups[1].Value;
    var b = value.Split(new string[] { @"\x" }, StringSplitOptions.RemoveEmptyEntries).Select(it => Convert.ToByte(it, 16)).ToArray();
    return Encoding.UTF8.GetString(b);
});

Console.WriteLine(result);

打印出來的結果:{"Province":"杭州市"}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM