C# 16进制类型转换
来源:互联网 发布:qq for mac 编辑:程序博客网 时间:2024/06/14 11:11
转载连接: http://blog.csdn.net/nieweiking/article/details/8206460
-
-
-
-
-
- public static string byteToHexStr(byte[] bytes)
- {
- string returnStr = "";
- if (bytes != null)
- {
- for (int i = 0; i < bytes.Length; i++)
- {
- returnStr += bytes[i].ToString("X2");
- }
- }
- return returnStr;
- }
-
-
-
-
-
- private static byte[] strToToHexByte(string hexString)
- {
- hexString = hexString.Replace(" ", "");
- if ((hexString.Length % 2) != 0)
- hexString += " ";
- byte[] returnBytes = new byte[hexString.Length / 2];
- for (int i = 0; i < returnBytes.Length; i++)
- returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
- return returnBytes;
- }
-
-
-
-
-
-
-
- public static string ToHex(string s, string charset, bool fenge)
- {
- if ((s.Length % 2) != 0)
- {
- s += " ";
-
- }
- System.Text.Encoding chs = System.Text.Encoding.GetEncoding(charset);
- byte[] bytes = chs.GetBytes(s);
- string str = "";
- for (int i = 0; i < bytes.Length; i++)
- {
- str += string.Format("{0:X}", bytes[i]);
- if (fenge && (i != bytes.Length - 1))
- {
- str += string.Format("{0}", ",");
- }
- }
- return str.ToLower();
- }
-
-
-
-
-
-
- public static string UnHex(string hex, string charset)
- {
- if (hex == null)
- throw new ArgumentNullException("hex");
- hex = hex.Replace(",", "");
- hex = hex.Replace("\n", "");
- hex = hex.Replace("\\", "");
- hex = hex.Replace(" ", "");
- if (hex.Length % 2 != 0)
- {
- hex += "20";
- }
-
- byte[] bytes = new byte[hex.Length / 2];
-
- for (int i = 0; i < bytes.Length; i++)
- {
- try
- {
-
- bytes[i] = byte.Parse(hex.Substring(i * 2, 2),
- System.Globalization.NumberStyles.HexNumber);
- }
- catch
- {
-
- throw new ArgumentException("hex is not a valid hex number!", "hex");
- }
- }
- System.Text.Encoding chs = System.Text.Encoding.GetEncoding(charset);
- return chs.GetString(bytes);
- }