博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 中关于汉字与16进制转换的代码
阅读量:4401 次
发布时间:2019-06-07

本文共 1618 字,大约阅读时间需要 5 分钟。

///     /// 从汉字转换到16进制    ///     ///     /// 
public static string GetHexFromChs(string s) { if ((s.Length % 2) != 0) { s += " ";//空格 //throw new ArgumentException("s is not valid chinese string!"); } System.Text.Encoding chs = System.Text.Encoding.GetEncoding("gb2312"); byte[] bytes = chs.GetBytes(s); string str = ""; for (int i = 0; i < bytes.Length; i++) { str += string.Format("{0:X}", bytes[i]); } return str; } /// /// 从16进制转换成汉字 /// /// ///
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); }

 

转载于:https://www.cnblogs.com/lacey/p/8889377.html

你可能感兴趣的文章