// See https://aka.ms/new-console-template for more information using System.Text; Console.WriteLine("Hello, World!"); string hextstr = "31 31 31 31 31 31 31 40 31 31 31 31 31 40 B3 F8 D3 E0 C0 AC BB F8 40 31 36 36 2E 35 0D 0A "; hextstr = hextstr.Replace(" ", ""); byte[] bytes = Encoding.UTF8.GetBytes(hextstr); Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); var a = GetChsFromHex(hextstr); Console.WriteLine(a); /// /// 16进制转汉字 /// /// /// static string GetChsFromHex(string hex) { if (hex == null) return ""; if (hex.Length % 2 != 0) { hex += "20";//空格 } // 需要将 hex 转换成 byte 数组。 byte[] bytes = new byte[hex.Length / 2]; for (int i = 0; i < bytes.Length; i++) { try { // 每两个字符是一个 byte。 bytes[i] = byte.Parse(hex.Substring(i * 2, 2), System.Globalization.NumberStyles.HexNumber); } catch { } } // 获得 GB2312,Chinese Simplified。 Encoding chs = Encoding.GetEncoding("gb2312"); return chs.GetString(bytes); } /// /// 16进制转10进制 /// /// /// static long HextToDec(string hex) { char[] nums = hex.ToCharArray(); long total = 0; try { for (int i = 0; i < nums.Length; i++) { String strNum = nums[i].ToString().ToUpper(); switch (strNum) { case "A": strNum = "10"; break; case "B": strNum = "11"; break; case "C": strNum = "12"; break; case "D": strNum = "13"; break; case "E": strNum = "14"; break; case "F": strNum = "15"; break; default: break; } double power = Math.Pow(16, Convert.ToDouble(nums.Length - i - 1)); total += Convert.ToInt64(strNum) * Convert.ToInt64(power); } } catch (System.Exception ex) { string strErorr = ex.ToString(); return 0; } return total; }