public static string ConvertLRCCode(string writeUncheck)
{
char[] hexArray = new char[writeUncheck.Length];
hexArray = writeUncheck.ToCharArray();
int decNum = 0, decNumMSB = 0, decNumLSB = 0;
int decByte, decByteTotal = 0;
bool msb = true;
for (int t = 0; t <= hexArray.GetUpperBound(0); t++)
{
if ((hexArray[t] >= 48) && (hexArray[t] <= 57))
decNum = (hexArray[t] - 48);
else if ((hexArray[t] >= 65) & (hexArray[t] <= 70))
decNum = 10 + (hexArray[t] - 65);
if (msb)
{
decNumMSB = decNum * 16;
msb = false;
}
else
{
decNumLSB = decNum;
msb = true;
}
if (msb)
{
decByte = decNumMSB + decNumLSB;
decByteTotal += decByte;
}
}
decByteTotal = (255 - decByteTotal) + 1;
decByteTotal = decByteTotal & 255;
int a, b = 0;
string hexByte = "", hexTotal = "";
double i;
for (i = 0; decByteTotal > 0; i++)
{
b = Convert.ToInt32(System.Math.Pow(16.0, i));
a = decByteTotal % 16;
decByteTotal /= 16;
if (a <= 9)
hexByte = a.ToString();
else
{
switch (a)
{
case 10:
hexByte = "A";
break;
case 11:
hexByte = "B";
break;
case 12:
hexByte = "C";
break;
case 13:
hexByte = "D";
break;
case 14:
hexByte = "E";
break;
case 15:
hexByte = "F";
break;
}
}
//char[] _chars = hexByte.ToCharArray();
//char[] _chars2 = hexTotal.PadLeft(1, '0').ToCharArray();
hexTotal = string.Concat(hexByte, hexTotal);
//hexTotal = Utility.ByteToHexString((byte)_chars[0]) + Utility.ByteToHexString((byte)_chars2[0]);//, hexTotal);
}
char[] _chars = hexTotal.ToCharArray();
hexTotal = Utility.ByteToHexString((byte)_chars[0]) + Utility.ByteToHexString((byte)_chars[1]);//, hexTotal);
return hexTotal;
}