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 UTF8Encoding.GetChars (Byte*, Int32, Char*, Int32)

 

Data di pubblicazione: ottobre 2016

Decodifica una sequenza di byte a partire dal puntatore ai byte specificato in un set di caratteri archiviati a partire dal puntatore ai caratteri specificato.

Questa API non è conforme a CLS.

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

[SecurityCriticalAttribute]
[CLSCompliantAttribute(false)]
[ComVisibleAttribute(false)]
public override unsafe int GetChars(
	byte* bytes,
	int byteCount,
	char* chars,
	int charCount
)

Parametri

bytes
Type: System.Byte*

Puntatore al primo byte da decodificare.

byteCount
Type: System.Int32

Numero di byte da decodificare.

chars
Type: System.Char*

Puntatore alla posizione in cui iniziare a scrivere il set di caratteri risultante.

charCount
Type: System.Int32

Numero massimo di caratteri da scrivere.

Valore restituito

Type: System.Int32

Numero effettivo di caratteri scritti nella posizione indicata da chars.

Exception Condition
ArgumentNullException

bytes è null.

-oppure-

chars è null.

ArgumentOutOfRangeException

byteCount o charCount è minore di zero.

ArgumentException

Il rilevamento degli errori è abilitato, e bytes contiene una sequenza di byte non valida.

-oppure-

charCount è minore del numero di caratteri risultante.

DecoderFallbackException

Si è verificato un fallback. Vedere Codifica di caratteri in .NET Framework per una spiegazione completa

-e-

DecoderFallback è impostato su DecoderExceptionFallback.

Per calcolare la dimensione di matrice esatti necessari per GetChars per archiviare i caratteri risultanti, chiamare il GetCharCount metodo. Per calcolare la dimensione massima della matrice, chiamare il GetMaxCharCount metodo. Il GetCharCount metodo alloca in genere minore di memoria, mentre il GetMaxCharCount metodo in genere viene eseguito più velocemente.

Con il rilevamento di errori, una sequenza non valido, questo metodo generare un ArgumentException (eccezione). Senza il rilevamento di errori, le sequenze non valide vengono ignorate e viene generata alcuna eccezione.

Se l'intervallo di byte da decodificare include il byte order mark (BOM) e la matrice di byte è stata restituita da un metodo di un tipo di supporto non DBA, il carattere U + FFFE è incluso nella matrice di caratteri restituita da questo metodo. È possibile rimuoverlo chiamando il String.TrimStart metodo.

Dati da convertire, ad esempio i dati letti da un flusso, potrebbero essere disponibili solo in blocchi sequenziali. In questo caso, o se la quantità di dati è talmente grande che deve essere la suddivisione in blocchi più piccoli, utilizzare il Decoder o Encoder oggetto fornito dal GetDecoder metodo o GetEncoder (metodo), rispettivamente.

SecurityCriticalAttribute

Requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Universal Windows Platform
Disponibile da 10
.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: