UTF8Encoding.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(ReadOnlySpan<Byte>)

Calcola il numero di caratteri prodotti dalla decodifica dell'intervallo di byte specificato.

GetCharCount(Byte[], Int32, Int32)

Origine:
UTF8Encoding.cs
Origine:
UTF8Encoding.cs
Origine:
UTF8Encoding.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.

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 usato il GetCharCount metodo per restituire il numero di caratteri prodotti decodificando un intervallo di elementi in una matrice di byte.

using namespace System;
using namespace System::Text;
int main()
{
   array<Byte>^bytes = {85,84,70,56,32,69,110,99,111,100,105,110,103,32,69,120,97,109,112,108,101};
   UTF8Encoding^ utf8 = gcnew UTF8Encoding;
   int charCount = utf8->GetCharCount( bytes, 2, 8 );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}
using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
             85,  84,  70,  56,  32,  69, 110,
             99, 111, 100, 105, 110, 103,  32,
             69, 120,  97, 109, 112, 108, 101
        };

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

Class UTF8EncodingExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = { _
            85,  84,  70,  56,  32,  69, 110, _
            99, 111, 100, 105, 110, 103,  32, _
            69, 120,  97, 109, 112, 108, 101 _
        }
        
        Dim utf8 As New UTF8Encoding()
        Dim charCount As Integer = utf8.GetCharCount(bytes, 2, 8)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

Commenti

Per calcolare le dimensioni esatte della matrice richieste da GetChars per archiviare i caratteri risultanti, chiamare il GetCharCount metodo . Per calcolare la dimensione massima della matrice, chiamare il GetMaxCharCount metodo. Il GetCharCount metodo in genere alloca meno memoria, mentre il GetMaxCharCount metodo esegue in genere più velocemente.

Con il rilevamento degli errori, una sequenza non valida causa la generazione di un'eccezione ArgumentException . Senza rilevamento errori, le sequenze non valide vengono ignorate e non viene generata alcuna eccezione.

Vedi anche

Si applica a

GetCharCount(Byte*, Int32)

Origine:
UTF8Encoding.cs
Origine:
UTF8Encoding.cs
Origine:
UTF8Encoding.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)]
[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

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

Attributi

Eccezioni

bytes è null.

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 le dimensioni esatte della matrice richieste da GetChars per archiviare i caratteri risultanti, chiamare il GetCharCount metodo . Per calcolare la dimensione massima della matrice, chiamare il GetMaxCharCount metodo. Il GetCharCount metodo in genere alloca meno memoria, mentre il GetMaxCharCount metodo esegue in genere più velocemente.

Con il rilevamento degli errori, una sequenza non valida causa la generazione di un'eccezione ArgumentException . Senza rilevamento errori, le sequenze non valide vengono ignorate e non viene generata alcuna eccezione.

Vedi anche

Si applica a

GetCharCount(ReadOnlySpan<Byte>)

Origine:
UTF8Encoding.cs
Origine:
UTF8Encoding.cs
Origine:
UTF8Encoding.cs

Calcola il numero di caratteri prodotti dalla decodifica dell'intervallo di byte specificato.

public:
 override int GetCharCount(ReadOnlySpan<System::Byte> bytes);
public override int GetCharCount (ReadOnlySpan<byte> bytes);
override this.GetCharCount : ReadOnlySpan<byte> -> int
Public Overrides Function GetCharCount (bytes As ReadOnlySpan(Of Byte)) As Integer

Parametri

bytes
ReadOnlySpan<Byte>

Intervallo contenente il set di byte da decodificare.

Restituisce

Numero di caratteri prodotti dalla decodifica dell'intervallo di byte specificato.

Commenti

Per calcolare le dimensioni esatte necessarie per GetChars archiviare i caratteri risultanti, chiamare il GetCharCount metodo . Per calcolare le dimensioni massime, chiamare il GetMaxCharCount metodo . Il GetCharCount metodo in genere alloca meno memoria, mentre il GetMaxCharCount metodo esegue in genere più velocemente.

Con il rilevamento degli errori, una sequenza non valida causa la generazione di un'eccezione ArgumentException . Senza rilevamento errori, le sequenze non valide vengono ignorate e non viene generata alcuna eccezione.

Si applica a