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

 

Data di pubblicazione: ottobre 2016

Codifica un set di caratteri a partire dal puntatore ai caratteri specificato in una sequenza di byte archiviati a partire dal puntatore ai byte 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 GetBytes(
	char* chars,
	int charCount,
	byte* bytes,
	int byteCount
)

Parametri

chars
Type: System.Char*

Puntatore al primo carattere da codificare.

charCount
Type: System.Int32

Numero di caratteri da codificare.

bytes
Type: System.Byte*

Puntatore alla posizione in cui iniziare a scrivere la sequenza di byte risultante.

byteCount
Type: System.Int32

Numero massimo di byte da scrivere.

Valore restituito

Type: System.Int32

Numero effettivo di byte scritti nella posizione indicata da bytes.

Exception Condition
ArgumentNullException

chars è null.

-oppure-

bytes è null.

ArgumentOutOfRangeException

charCount o byteCount è minore di zero.

ArgumentException

Il rilevamento errori è abilitato e chars contiene una sequenza di carattere non valida.

-oppure-

byteCount è minore del numero di byte risultante.

EncoderFallbackException

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

-e-

EncoderFallback è impostato su EncoderExceptionFallback.

Per calcolare la dimensione di matrice esatti necessari per GetBytes per archiviare i byte risultanti, chiamare il GetByteCount metodo. Per calcolare la dimensione massima della matrice, si chiama il GetMaxByteCount metodo. Il GetByteCount metodo alloca in genere minore di memoria, mentre il GetMaxByteCount 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.

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 restituito dal GetDecoder metodo o GetEncoder (metodo), rispettivamente.

Per garantire che i byte codificati vengano decodificati correttamente quando vengono salvati come un file o un flusso, è possibile anteporre un flusso di byte codificati con un preambolo. Inserire il preambolo all'inizio di un flusso di byte (ad esempio all'inizio di una serie di byte da scrivere in un file) è responsabilità dello sviluppatore. Il GetBytes metodo non anteporre un preambolo all'inizio di una sequenza di byte codificati.

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
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Torna all'inizio
Mostra: