Conversione in Base64
La conversione in Base64 traduce i dati binari di una stringa ASCII (caratteri non accentati) nella rappresentazione di un dato di 6 bit utilizzando 64 caratteri stampabili.
La codifica Base64 è utilizzata quando vi è la necessità di codificare dati binari che devono essere memorizzati e trasferiti su supporti che sono progettati per gestire dati testuali. In particolare, la codifica Base64 è utilizzata negli scambi testuali nella posta elettronica.
Utilizzo delle funzioni specifiche di Gambas
Dalla versione 3.2 di Gambas, per ottenere la codifica di una stringa in Base64 è possibile utilizzare la specifica funzione Base64():
Base64Stringa = Base64("Stringa")
Algoritmo alternativo
E' possibile, ovviamente, ottenere la conversione in Base64 anche con uno specifico algoritmo. Ad esempio uno simile a questo, di cui mostriamo la sua parte essenziale:
Public Sub Button1_Click()
Dim s, binario, $fin As String
Dim j, bfin As Integer
Dim b As Byte
' Riceve l'intera stringa in codifica "binaria" da convertire:
s = TextBox1.Text
For j = 1 To Len(s)
binario = binario & Bin(Asc(Mid(s, j, 1)), 8)
Next
' Effettua la conversione:
For j = 1 To Len(binario) Step 6
s = Mid(binario, j, 6)
bfin = convert(s)
Select Case bfin
Case 0 To 25
$fin &= Chr(bfin + 65)
Case 26 To 51
$fin &= Chr(bfin + 71)
Case 52 To 61
$fin &= Chr(bfin - 4)
Case 62
$fin &= Chr(bfin + 19)
Case 63
$fin &= Chr(bfin + 16)
End Select
Next
' Mostra il risultato:
If Len($fin) < 4 Then Print $fin & String$(4 - Len($fin), "=")
If Len($fin) Mod 4 > 0 Then
b = 4 * (Fix(Len($fin) / 4) + 1)
Print $fin & String$(b - Len($fin), "=")
Endif
If Len($fin) Mod 4 = 0 Then Print $fin
End