/// <summary>
        /// 16进制转字符
        /// </summary>
        /// <param name="str1"></param>
        /// <returns></returns>
        public string HexToStr(string str1)
        {
            string returnValue = "";            if (str1 == "")
                return "";            byte[] w = new byte[str1.Length / 2];            for (int i = 0; i < str1.Length; i++)
            {
                w[i] = HexToStr(str1, i + 1);
            }            returnValue = System.Text.Encoding.Default.GetString(w);
            return returnValue;
        }
        /// <summary>
        /// 16进制转字符
        /// </summary>
        /// <param name="str1"></param>
        /// <param name="spage"></param>
        /// <returns></returns>
        byte HexToStr(string str1, int spage)
        {
            string returnValue;
            int intTemp;
            int ipage = Convert.ToInt32(spage);
            int StartInt = 0;
            int iLengthInt = 2;            intTemp = str1.Length;//取得字符串长度            if (ipage == 1)
            {
                StartInt = 0;
                iLengthInt = 2;
            }
            else
            {
                StartInt = (ipage - 1) * iLengthInt;                if ((intTemp - ipage * 2) < 2)
                {
                    iLengthInt = intTemp - (ipage - 1) * 2;
                }
                else
                {
                    iLengthInt = 2;
                }
            }            returnValue = str1.Substring(StartInt, iLengthInt);            returnValue = ConvertString(returnValue, 16, 10);            return Convert.ToByte(returnValue);
        }        /// <summary>
        /// ConvertString(值,來源进制,目的进制);
        /// </summary>
        /// <param name="value"></param>
        /// <param name="fromBase"></param>
        /// <param name="toBase"></param>
        /// <returns></returns>
        string ConvertString(string value, int fromBase, int toBase)
        {
            int intValue = Convert.ToInt32(value, fromBase);
            return Convert.ToString(intValue, toBase);
        }
-----------------------------
方法二:
/// <summary>
        /// 将指定的十六进制字符串转化为普通字符串
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        private string HexStrToStr(string text)
        {
            string result = "";
            byte[] bytes = new byte[text.Length / 2];
            int i = 0, r = 0;
            while (i < text.Length)
            {
                bytes[r] = byte.Parse(text.Substring(i, 2), System.Globalization.NumberStyles.HexNumber);
                i += 2;
                r++;
            }
            result = Encoding.GetEncoding("GB2312").GetString(bytes);
            return result;
        }        /// <summary>
        /// 将指定的字符串转化为16进制的字符串
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        private string StrToHexStr(string text)
        {
            string result = "";
            byte[] bytes = Encoding.GetEncoding("GB2312").GetBytes(text);
            foreach (byte byt in bytes)
            {
                result += Convert.ToString((short)byt, 16);
            }
            return result;
        }
这两个方法怎么都有问题啊,不能转换???
需要转换的串是:D4DDCDA3B4FACAD5B7D1D2B5CEF1