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

 

Data di pubblicazione: ottobre 2016

Quando sottoposto a override in una classe derivata, decodifica una sequenza di byte a partire dal puntatore ai byte specificato e i byte nel buffer interno in un set di caratteri archiviati a partire dal puntatore ai caratteri specificato. Un parametro indica se cancellare lo stato interno del decodificatore dopo la conversione.

Questa API non è conforme a CLS.

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

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

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.

flush
Type: System.Boolean

true Per cancellare lo stato interno del decodificatore dopo la conversione. in caso contrario, false.

Valore restituito

Type: System.Int32

Numero effettivo di caratteri scritti nella posizione indicata dal parametro chars.

Exception Condition
ArgumentNullException

bytes è null (Nothing).

-oppure-

chars è null (Nothing).

ArgumentOutOfRangeException

byteCount o charCount è minore di zero.

ArgumentException

charCount è minore del numero di caratteri risultante.

DecoderFallbackException

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

-e-

Fallback è impostato su DecoderExceptionFallback.

Tenere presente che il Decoder oggetto Salva lo stato tra le chiamate a GetChars. Quando l'applicazione viene eseguita con un flusso di dati, è necessario impostare il flush parametro true per assicurarsi che le informazioni sullo stato vengano eliminate. Con questa impostazione, il decodificatore ignora i byte non validi alla fine del blocco di dati e cancella il buffer interno.

Per calcolare il buffer esatto dimensione che GetChars è necessario per archiviare i caratteri risultanti, l'applicazione deve utilizzare GetCharCount.

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

Se l'applicazione deve convertire diversi segmenti di un flusso di input, è consigliabile utilizzare il Convert metodo. GetChars verrà generata un'eccezione se il buffer di output non è abbastanza grande, ma Convert occuperà più spazio possibile e restituire i byte letti e i caratteri scritti. Vedere anche il Encoding.GetChars argomento per ulteriori commenti.

SecurityCriticalAttribute

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

.NET Framework
Disponibile da 2.0
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: