/// <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);
}