Share via


UTF7Encoding.GetCharCount Metodo

Definizione

Calcola il numero di caratteri prodotti dalla decodifica di una sequenza di byte.

Overload

GetCharCount(Byte[], Int32, Int32)

Calcola il numero di caratteri prodotti dalla decodifica di una sequenza di byte dalla matrice di byte specificata.

GetCharCount(Byte*, Int32)

Calcola il numero di caratteri prodotti dalla decodifica di una sequenza di byte a partire dal puntatore ai byte specificato.

GetCharCount(Byte[], Int32, Int32)

Calcola il numero di caratteri prodotti dalla decodifica di una sequenza di byte dalla matrice di byte specificata.

public:
 override int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public override int GetCharCount (byte[] bytes, int index, int count);
override this.GetCharCount : byte[] * int * int -> int
Public Overrides Function GetCharCount (bytes As Byte(), index As Integer, count As Integer) As Integer

Parametri

bytes
Byte[]

Matrice di byte contenente la sequenza di byte da decodificare.

index
Int32

Indice del primo byte da decodificare.

count
Int32

Numero di byte da decodificare.

Restituisce

Int32

Numero di caratteri prodotti dalla decodifica della sequenza di byte specificata.

Eccezioni

bytes è null (Nothing).

index o count è minore di zero.

-oppure- index e count non identificano un intervallo valido in bytes.

-oppure- Il numero di caratteri ottenuto è maggiore del numero massimo che può essere restituito come valore int.

Si è verificato un fallback (per altre informazioni, vedere Codifica dei caratteri in .NET) -e- DecoderFallback è impostato su DecoderExceptionFallback.

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare il GetCharCount metodo per restituire il numero di caratteri prodotti dalla decodifica di un intervallo di elementi in una matrice di byte.

using namespace System;
using namespace System::Text;
int main()
{
   array<Byte>^bytes = {85,0,110,0,105,0,99,0,111,0,100,0,101,0};
   UnicodeEncoding^ Unicode = gcnew UnicodeEncoding;
   int charCount = Unicode->GetCharCount( bytes, 2, 8 );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}
using System;
using System.Text;

class UnicodeEncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0
        };

        UnicodeEncoding Unicode = new UnicodeEncoding();
        int charCount = Unicode.GetCharCount(bytes, 2, 8);
        Console.WriteLine(
            "{0} characters needed to decode bytes.", charCount
        );
    }
}
Imports System.Text

Class UnicodeEncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = {85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0}
        
        Dim uni As New UnicodeEncoding()
        Dim charCount As Integer = uni.GetCharCount(bytes, 2, 8)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

Commenti

Per calcolare la dimensione esatta della matrice richiesta da GetChars per archiviare i caratteri risultanti, usare GetCharCount. Per calcolare le dimensioni massime della matrice, l'applicazione deve usare GetMaxCharCount. Il GetCharCount metodo in genere consente l'allocazione di una quantità di memoria inferiore, mentre il GetMaxCharCount metodo viene in genere eseguito più velocemente.

Vedi anche

Si applica a

GetCharCount(Byte*, Int32)

Importante

Questa API non è conforme a CLS.

Calcola il numero di caratteri prodotti dalla decodifica di una sequenza di byte a partire dal puntatore ai byte specificato.

public:
 override int GetCharCount(System::Byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetCharCount (byte* bytes, int count);
[System.CLSCompliant(false)]
public override int GetCharCount (byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount (byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount (byte* bytes, int count);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int

Parametri

bytes
Byte*

Puntatore al primo byte da decodificare.

count
Int32

Numero di byte da decodificare.

Restituisce

Int32

Numero di caratteri prodotti dalla decodifica della sequenza di byte specificata.

Attributi

Eccezioni

bytes è null (Nothing).

count è minore di zero.

-oppure- Il numero di caratteri ottenuto è maggiore del numero massimo che può essere restituito come valore int.

Si è verificato un fallback . Per altre informazioni, vedere Codifica dei caratteri in .NET.

-e- DecoderFallback è impostato su DecoderExceptionFallback.

Commenti

Per calcolare la dimensione esatta della matrice richiesta da GetChars per archiviare i caratteri risultanti, usare GetCharCount. Per calcolare le dimensioni massime della matrice, l'applicazione deve usare GetMaxCharCount. Il GetCharCount metodo in genere consente l'allocazione di una quantità di memoria inferiore, mentre il GetMaxCharCount metodo viene in genere eseguito più velocemente.

Vedi anche

Si applica a