/// <summary> /// 从16进制转换成汉字 /// </summary> /// <param name="hex"></param> /// <returns></returns> public static string GetChsFromHex(string hex) { if (hex == null) throw new ArgumentNullException("hex"); if (hex.Length % 2 != 0) { hex += "20";//空格 //throw new ArgumentException("hex is not a valid number!", "hex"); } // 需要将 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 { // Rethrow an exception with custom message. throw new ArgumentException("hex is not a valid hex number!", "hex"); } } // 获得 GB2312,Chinese Simplified。 System.Text.Encoding chs = System.Text.Encoding.GetEncoding("gb2312"); return chs.GetString(bytes).Replace("\0",""); }
时间: 2024-10-05 02:56:22