Convertire un numero in un carattere ASCII
Come è noto il codice ASCII è uno standard consistente in 128 numeri decimali da 0 a 127, ai quali si aggiungono i numeri da 128 a 255 comprendenti caratteri speciali. Pertanto ogni numero nel codice ASCII corrisponde ad un carattere di quel protocollo.
In Gambas è possibile ottenere da un numero il corrispondente carattere ASCII mediante almeno tre modalità, esposte di seguito.
Indice
Uso della funzione Chr()
E' possibile utilizzare la funzione Chr():
Public Sub Main() Dim carattere As String carattere = Chr(99) Print carattere End
Uso del metodo .ToString() dei vettori di tipo Byte()
E' possibile utilizzare il metodo .ToString() dei vettori di tipo Byte():
Public Sub Main() Dim bb As Byte[] = [99, 100] Print bb.ToString(0, 2) End
Uso dei caratteri \x
E' possibile utilizzare la stringa formata dal carattere escape \x anteposto al numero esadecimale del codice ASCII da convertire:
Public Sub Main() Print "\x63" End
Conversione di due valori, costituenti un carattere speciale, nella sua rappresentazione grafica
Come è noto i caratteri alfabetici speciali (ad esempio le lettere accentate "à", "è", "é", etc...), chiamati anche "lettere localizzate", sono composte non da un solo valore della tabella ASCII (come è per le lettere fondamentali dell'alfabeto), bensì da due valori. [Nota 1]
Ad esempio il carattere della "a" accentata: à, è costituito dai valori &C3 e &A0.
Pertanto, avendo tali due valori, è possibile ricostruire la corrispondente rappresentazione grafica del carattere speciale mediante la funzione nativa di Gambas Chr( ).
In questo esempio pratico vediamo otterremo la rappresentzione grafica della lettera "à":
Public Sub Main() Print Chr(&C3) & Chr(&A0) End
Nota
[1] Al riguardo vedi anche la seguente pagina della Wiki: http://www.gambas-it.org/wiki/index.php?title=Individuare_i_valori_costituenti_i_caratteri_tipo_UTF-8_di_lettere_localizzate