1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
   |  
public static int HexaToInt(Byte[] Buffer, int debut, int longueur)
        {
            int Somme = 0;
            int facteur = 0;
            Char currentCaractere;
            Byte[] WorkingBuffer = new Byte[longueur];
 
            for (int i = 0; i < longueur; i++)
            {
                WorkingBuffer[i] = Buffer[debut + i];
            }
            String tmpString = TrameToString(WorkingBuffer).Replace(" ","");
            for (int j = tmpString.Length - 1; j >= 0; j--)
            {
                currentCaractere = tmpString[j];
                switch (currentCaractere)
                {
                    case '1': Somme += 1 * puissance(16, facteur); break;
                    case '2': Somme += 2 * puissance(16, facteur); break;
                    case '3': Somme += 3 * puissance(16, facteur); break;
                    case '4': Somme += 4 * puissance(16, facteur); break;
                    case '5': Somme += 5 * puissance(16, facteur); break;
                    case '6': Somme += 6 * puissance(16, facteur); break;
                    case '7': Somme += 7 * puissance(16, facteur); break;
                    case '8': Somme += 8 * puissance(16, facteur); break;
                    case '9': Somme += 9 * puissance(16, facteur); break;
                    case 'A': Somme += 10 * puissance(16, facteur); break;
                    case 'B': Somme += 11 * puissance(16, facteur); break;
                    case 'C': Somme += 12 * puissance(16, facteur); break;
                    case 'D': Somme += 13 * puissance(16, facteur); break;
                    case 'E': Somme += 14 * puissance(16, facteur); break;
                    case 'F': Somme += 15 * puissance(16, facteur); break;
                }
                facteur++;
            }
            return Somme;
        } | 
Partager