Differenze tra le versioni di "Ottenere un vettore di tipo Byte da una Stringa"
Riga 9: | Riga 9: | ||
.FromString( String As String ) As Byte[] | .FromString( String As String ) As Byte[] | ||
Di seguito mostriamo un semplice esempio: | Di seguito mostriamo un semplice esempio: | ||
− | + | Public Sub Main() | |
Dim bb As Byte[] | Dim bb As Byte[] | ||
Riga 27: | Riga 27: | ||
Print bb.ToString() | Print bb.ToString() | ||
− | + | End | |
==Uso dei ''Memory Stream'' con la Proprietà ".Data" degli array== | ==Uso dei ''Memory Stream'' con la Proprietà ".Data" degli array== | ||
Riga 35: | Riga 35: | ||
Mostriamo di seguito un semplice esempio: | Mostriamo di seguito un semplice esempio: | ||
− | + | Public Sub Main() | |
Dim bb As Byte[] | Dim bb As Byte[] | ||
Riga 62: | Riga 62: | ||
Print bb.ToString() | Print bb.ToString() | ||
− | + | End | |
Versione attuale delle 04:30, 10 giu 2024
Scrivere una stringa in un vettore di tipo "Byte[]", significa memorizzare ciascun carattere della stringa (secondo il rispettivo valore numerico ASCII) in un elemento della predetta variabile vettoriale.
Sono possibili almeno due possibilità:
- con il Metodo ".FromString()" dei vettori di tipo "Byte[]";
- con i Memory Stream e la Proprietà ".Data" dei vettori di tipo "Byte[]" .
Uso del Metodo ".FromString()"
Gli array di tipo "Byte[]" dipongono di un apposito metodo per memorizzare i dati costituenti una stringa di caratteri, la cui sintassi è: [Nota 1]
.FromString( String As String ) As Byte[]
Di seguito mostriamo un semplice esempio:
Public Sub Main() Dim bb As Byte[] Dim s As String Dim b As Byte s = "Testo qualsiasi" bb = Byte[].FromString(s) ' Verifichiamo ora il contenuto del vettore "bb": For Each b In bb Print Hex(b); " = "; Chr(b) Next ' ...oppure usando il Metodo ".To String()" del vettore": Print bb.ToString() End
Uso dei Memory Stream con la Proprietà ".Data" degli array
Le variabili vettoriali posseggono, fra le altre, anche la Proprietà ".Data" che restituisce un Puntatore all'area di memoria dell'oggetto vettore contenente i dati.
E' possibile, dunque, utilizzare quel Puntatore per scrivere i dati di una stringa mediante i Memory Stream. [Nota 2]
Mostriamo di seguito un semplice esempio:
Public Sub Main() Dim bb As Byte[] Dim s As String Dim st As Stream Dim b As Byte s = "Testo qualsiasi" bb = New Byte[String.Len(s)] ' Scriviamo la stringa nel vettore "bb": st = Memory bb.Data For Write Write #st, s st.Close ' Verifichiamo ora il contenuto del vettore "bb": For Each b In bb Print Hex(b); " = "; Chr(b) Next ' ...o anche così, dereferenziando il "Puntatore": Print String@(bb.Data) ' ...oppure usando il Metodo ".To String()" del vettore": Print bb.ToString() End
Suggerimenti
[1] Vedere anche questa pagina: Caricare in un vettore di tipo "Byte[]" i dati di un file con il Metodo "File.Load()"
[2] Sulla scrittura (e lettura) dei dati di una variabile array, è possibile consultare anche la seguente pagina: Leggere e scrivere in un vettore mediante i Memory Stream