Bonjour,

Tout d'abord je m'excuse car je n'ai pas de connaissance en Java et ma question peut probablement sembler triviale à beaucoup d'entre vous.

Je désire convertir le code ci-dessous de Java vers VB (ou VBA):
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
  public static String thesub(byte[] paramArrayOfByte)
  {
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < paramArrayOfByte.length; i++)
    {
      int j = paramArrayOfByte[i] & 0xFF;
      sb.append("0123456789abcdef".charAt(j >> 4));
      sb.append("0123456789abcdef".charAt(j & 0xF));
    }
    return sb.toString();
  }
A priori il s'agit d'un encodage et l'input devrait être un string quelconque (même si la variable est décalrée comme un tableau byte).

Mon problème est que je ne comprend pas ce que signifient les instructions " & 0xFF", "j >> 4", et "j & 0xF" en Java. La conversion en VB est la suivante, où j'ai mis des ????? aux endroits pour lesquels je ne comprends pas le code Java:
Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
    Public Function thesub(ByRef TheInput() As Byte) As String
        Const TheKey As String = "0123456789abcdef"
        Dim i As Long, j As Long
        Dim SB As New System.Text.StringBuilder
        For i = 0 To UBound(TheInput, 1) - 1
            j = TheInput(i) & "0xFF" ' ?????
            SB.Append(Mid(TheKey, j mod 4, 1)) ' ????
            SB.Append(Mid(TheKey, j & "0xF", 1)) ' ????
        Next i
        thesub = SB.ToString
    End Function

Comment convertir correctement ce code Java en VB?