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 UTF7Encoding.GetString (Byte[], Int32, Int32)

 

Data di pubblicazione: ottobre 2016

Decodifica un intervallo di byte da una matrice di byte in una stringa.

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

[ComVisibleAttribute(false)]
public override string GetString(
	byte[] bytes,
	int index,
	int count
)

Parametri

bytes
Type: System.Byte[]

Matrice di byte contenente la sequenza di byte da decodificare.

index
Type: System.Int32

Indice del primo byte da decodificare.

count
Type: System.Int32

Numero di byte da decodificare.

Valore restituito

Type: System.String

Oggetto String contenente i risultati di decodifica della sequenza di byte specificata.

Exception Condition
ArgumentNullException

bytes è null (Nothing).

ArgumentOutOfRangeException

index o count è minore di zero.

-oppure-

index e count non indicano un intervallo valido in bytes.

DecoderFallbackException

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

-e-

DecoderFallback è impostato su DecoderExceptionFallback.

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

System_CAPS_noteNota

UTF7Encodingnon fornisce il rilevamento errori. Quando vengono rilevati i byte non validi, UTF7Encoding generalmente emette i byte non validi. Se un byte è maggiore di 0x7F esadecimale, il valore di byte è esteso in base zero in un carattere Unicode, il risultato viene archiviato nel chars matrice e da qualsiasi sequenza MAIUSC viene terminata. Ad esempio, se il byte da codificare è l'esadecimale 0x81, il carattere risulta è U + 0081. Per motivi di sicurezza, si consiglia di utilizzare UTF8Encoding, UnicodeEncoding, o UTF32Encoding e attivare il rilevamento errori.

Esempio di codice seguente consente di codificare una stringa in una matrice di byte e quindi decodifica i byte in una stringa.

using System;
using System.Text;

public class SamplesUTF7Encoding  {

   public static void Main()  {

      // Create an instance of UTF7Encoding.
      UTF7Encoding u7 = new UTF7Encoding( true );


      // Create byte arrays from the same string containing the following characters:
      //    Latin Small Letter Z (U+007A)
      //    Latin Small Letter A (U+0061)
      //    Combining Breve (U+0306)
      //    Latin Small Letter AE With Acute (U+01FD)
      //    Greek Small Letter Beta (U+03B2)
      String myStr = "za\u0306\u01FD\u03B2";

      // Encode the string.
      byte[] myBArr = new byte[u7.GetByteCount( myStr )];
      u7.GetBytes( myStr, 0, myStr.Length, myBArr, 0 );

      // Decode the byte array.
      Console.WriteLine( "The new string is: {0}", u7.GetString( myBArr, 0, myBArr.Length ) );

   }

}


/*
This code produces the following output.  The question marks take the place of characters that cannot be displayed at the console.

The new string is: za??

*/


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