Condividi tramite


UnicodeEncoding.GetCharCount Metodo

Definizione

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

Overload

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.

GetCharCount(Byte*, Int32)

Origine:
UnicodeEncoding.cs
Origine:
UnicodeEncoding.cs
Origine:
UnicodeEncoding.cs

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)]
public override int GetCharCount (byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
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)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
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

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

Attributi

Eccezioni

bytes è null (Nothing).

count è minore di zero.

-oppure-

Il numero di byte ottenuto è maggiore del numero massimo che può essere restituito come valore integer.

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

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 che GetChars richiede di archiviare i caratteri risultanti, l'applicazione usa GetCharCount. Per calcolare le dimensioni massime della matrice, l'applicazione deve usare GetMaxCharCount. Il GetCharCount metodo in genere alloca meno memoria, mentre il GetMaxCharCount metodo viene in genere eseguito più velocemente.

Con il rilevamento degli errori, una sequenza non valida fa sì che questo metodo generi un'eccezione ArgumentException. Senza il rilevamento degli errori, le sequenze non valide vengono ignorate e non viene generata alcuna eccezione.

Vedi anche

Si applica a

GetCharCount(Byte[], Int32, Int32)

Origine:
UnicodeEncoding.cs
Origine:
UnicodeEncoding.cs
Origine:
UnicodeEncoding.cs

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

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 byte ottenuto è maggiore del numero massimo che può essere restituito come valore integer.

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

Si è verificato un fallback (per altre informazioni, vedere Codifica dei caratteri in .NET)

-e-

DecoderFallback è impostato su DecoderExceptionFallback.

Esempio

Nell'esempio 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 tramite UnicodeEncoding.

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, l'applicazione usa GetCharCount. Per calcolare le dimensioni massime della matrice, l'applicazione deve usare GetMaxCharCount. Il GetCharCount metodo in genere alloca meno memoria, mentre il GetMaxCharCount metodo viene in genere eseguito più velocemente.

Con il rilevamento degli errori, una sequenza non valida fa sì che questo metodo generi un'eccezione ArgumentException. Senza il rilevamento degli errori, le sequenze non valide vengono ignorate e non viene generata alcuna eccezione.

Vedi anche

Si applica a