Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Encoder.GetByteCount (Char[], Int32, Int32, Boolean)

 

Data di pubblicazione: ottobre 2016

Quando ne viene eseguito l'override in una classe derivata, calcola il numero di byte prodotti dalla codifica di un set di caratteri dalla matrice di caratteri specificata. Un parametro indica se cancellare lo stato interno del codificatore dopo il calcolo.

Spazio dei nomi:   System.Text
Assembly:  mscorlib (in mscorlib.dll)

public abstract int GetByteCount(
	char[] chars,
	int index,
	int count,
	bool flush
)

Parametri

chars
Type: System.Char[]

Matrice di caratteri contenente il set di caratteri da codificare.

index
Type: System.Int32

Indice del primo carattere da codificare.

count
Type: System.Int32

Numero di caratteri da codificare.

flush
Type: System.Boolean

true per simulare la cancellazione lo stato interno del codificatore dopo il calcolo. in caso contrario, false.

Valore restituito

Type: System.Int32

Il numero di byte prodotti dalla codifica dei caratteri specificati e tutti i caratteri nel buffer interno.

Exception Condition
ArgumentNullException

chars è null.

ArgumentOutOfRangeException

index o count è minore di zero.

-oppure-

index e count non indicano un intervallo valido in chars.

EncoderFallbackException

Si è verificato un fallback. Per una spiegazione completa, vedere l'articolo relativo alla codifica di caratteri in .NET Framework

-e-

Fallback è impostato su EncoderExceptionFallback.

Questo metodo non influenzano lo stato del codificatore.

Per calcolare la dimensione esatta della matrice che GetBytes è necessario per archiviare i byte risultanti, l'applicazione deve utilizzare GetByteCount.

Se GetBytes viene chiamato con flush impostato su false, il codificatore archivia i caratteri finali alla fine del blocco di dati in un buffer interno e li utilizza nella successiva operazione di codifica. L'applicazione deve chiamare GetByteCount in un blocco di dati immediatamente prima di chiamare GetBytes sullo stesso blocco, in modo che i caratteri finali del blocco precedente vengono inclusi nel calcolo.

Esempio di codice seguente viene illustrato come utilizzare il GetByteCount per restituire il numero di byte necessari per codificare una matrice di caratteri Unicode utilizzando Encoder.

using System;
using System.Text;

class EncoderExample {
    public static void Main() {
        // Unicode characters.
        Char[] chars = new Char[] {
            '\u0023', // #
            '\u0025', // %
            '\u03a0', // Pi
            '\u03a3'  // Sigma
        };

        Encoder uniEncoder = Encoding.Unicode.GetEncoder();
        int byteCount = uniEncoder.GetByteCount(chars, 0, chars.Length, true);
        Console.WriteLine(
            "{0} bytes needed to encode characters.", byteCount
        );
    }
}

/* This example produces the following output.

8 bytes needed to encode characters.

*/

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: