Convertire i valori di tipo Byte di un vettore in valori di tipo Stringa
Gambas, per convertire i valori di tipo Byte contenuti in una variabile vettoriale (array) in valori di tipo Stringa, mette a disposizione il metodo .ToString().
La sua sintassi è:
ToString( [ Inizio As Integer, Lunghezza As Integer ] ) As String
laddove Inizio è l'indice del primo byte da cui cominciare la conversione. Esso è di default uguale a zero. Lunghezza è il numero di byte da convertire. Di default è fino all'ultimo byte del vettore.
Esempio:
Public Sub Main() Dim bb As Byte[] = [97, 98, 99, 10, 100, 101, 102] Dim s As String s = bb.ToString(0, bb.Count) |1| Print s End
Modalità alternativa a .ToString() dereferenziando la proprietà .Data
Per ottenere i valori contenuti da una variabile vettoriale di tipo Byte[] in formato Stringa, si può dereferenziare il Puntatore restituito dalla proprietà .Data appartenente a tali variabili.
Esempio:
Public Sub Main() Dim bb As Byte[] = [97, 98, 99, 10, 100, 101, 102] Dim s As String s = String@(bb.Data) Print s End
Note
[1] Come è possibile notare, la funzione .ToString() agevola il compito che potrebbe essere effettuato con la funzione Chr() su ciascun elemento del vettore, usando, però, un ciclo:
Public Sub Main() Dim vettore As Byte[] = [97, 98, 99, 10, 100, 101, 102] Dim s As String Dim i As Integer For i = 0 To vettore.Max s &= Chr(vettore[i]) Next Print s End