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):
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).
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(); }
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?
Partager