Share via


ASCIIEncoding.GetByteCount Metodo

Definizione

Calcola il numero di byte prodotti dalla codifica di un set di caratteri.

Overload

GetByteCount(ReadOnlySpan<Char>)

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

GetByteCount(String)

Calcola il numero di byte prodotti dalla codifica dei caratteri nell'oggetto String specificato.

GetByteCount(Char*, Int32)

Calcola il numero di byte prodotti dalla codifica di un set di caratteri a partire dal puntatore ai caratteri specificato.

GetByteCount(Char[], Int32, Int32)

Calcola il numero di byte prodotti dalla codifica di un set di caratteri dalla matrice di caratteri specificata.

GetByteCount(ReadOnlySpan<Char>)

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

public:
 override int GetByteCount(ReadOnlySpan<char> chars);
public override int GetByteCount (ReadOnlySpan<char> chars);
override this.GetByteCount : ReadOnlySpan<char> -> int
Public Overrides Function GetByteCount (chars As ReadOnlySpan(Of Char)) As Integer

Parametri

chars
ReadOnlySpan<Char>

Intervallo contenente il set di caratteri da codificare.

Restituisce

Int32

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

Commenti

Per calcolare la dimensione esatta richiesta da GetBytes per archiviare i byte risultanti, usare GetByteCount. Per calcolare le dimensioni massime, usare GetMaxByteCount. Il GetByteCount metodo in genere consente l'allocazione di una quantità di memoria inferiore, mentre il GetMaxByteCount metodo viene in genere eseguito più velocemente.

Si applica a

GetByteCount(String)

Calcola il numero di byte prodotti dalla codifica dei caratteri nell'oggetto String specificato.

public:
 override int GetByteCount(System::String ^ chars);
public override int GetByteCount (string chars);
override this.GetByteCount : string -> int
Public Overrides Function GetByteCount (chars As String) As Integer

Parametri

chars
String

Oggetto String contenente il set di caratteri da codificare.

Restituisce

Int32

Numero di byte prodotti dalla codifica dei caratteri specificati.

Eccezioni

chars è null.

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

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

Esempio

Nell'esempio seguente viene illustrato come utilizzare il GetByteCount metodo per restituire il numero di byte necessari per codificare una stringa usando ASCIIEncoding.

using namespace System;
using namespace System::Text;
int main()
{
   String^ chars = "ASCII Encoding Example";
   ASCIIEncoding^ ascii = gcnew ASCIIEncoding;
   int byteCount = ascii->GetByteCount( chars );
   Console::WriteLine( " {0} bytes needed to encode string.", byteCount );
}
using System;
using System.Text;

class ASCIIEncodingExample {
    public static void Main() {
        String chars = "ASCII Encoding Example";

        ASCIIEncoding ascii = new ASCIIEncoding();
        int byteCount = ascii.GetByteCount(chars);
        Console.WriteLine(
            "{0} bytes needed to encode string.", byteCount
        );
    }
}
Imports System.Text

Class ASCIIEncodingExample
    Public Shared Sub Main()
        Dim chars As String = "ASCII Encoding Example"

        Dim ascii As New ASCIIEncoding()
        Dim byteCount As Integer = ascii.GetByteCount(chars)
        Console.WriteLine("{0} bytes needed to encode string.", byteCount)
    End Sub
End Class

Commenti

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

Vedi anche

Si applica a

GetByteCount(Char*, Int32)

Importante

Questa API non è conforme a CLS.

Alternativa conforme a CLS
System.Text.ASCIIEncoding.GetByteCount(Char[], Int32, Int32)

Calcola il numero di byte prodotti dalla codifica di un set di caratteri a partire dal puntatore ai caratteri specificato.

public:
 override int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetByteCount (char* chars, int count);
[System.CLSCompliant(false)]
public override int GetByteCount (char* chars, int count);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetByteCount (char* chars, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetByteCount (char* chars, int count);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetByteCount : nativeptr<char> * int -> int

Parametri

chars
Char*

Puntatore al primo carattere da codificare.

count
Int32

Numero di caratteri da codificare.

Restituisce

Int32

Numero di byte prodotti dalla codifica dei caratteri specificati.

Attributi

Eccezioni

chars è null.

count è minore di zero.

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

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

Commenti

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

Vedi anche

Si applica a

GetByteCount(Char[], Int32, Int32)

Calcola il numero di byte prodotti dalla codifica di un set di caratteri dalla matrice di caratteri specificata.

public:
 override int GetByteCount(cli::array <char> ^ chars, int index, int count);
public override int GetByteCount (char[] chars, int index, int count);
override this.GetByteCount : char[] * int * int -> int
Public Overrides Function GetByteCount (chars As Char(), index As Integer, count As Integer) As Integer

Parametri

chars
Char[]

Matrice di caratteri contenente il set di caratteri da codificare.

index
Int32

Indice del primo carattere da codificare.

count
Int32

Numero di caratteri da codificare.

Restituisce

Int32

Numero di byte prodotti dalla codifica dei caratteri specificati.

Eccezioni

chars è null.

index o count è minore di zero.

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

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

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

Esempio

Nell'esempio seguente viene illustrato come utilizzare il GetByteCount metodo per restituire il numero di byte necessari per codificare una matrice di caratteri Unicode usando ASCIIEncoding.

using namespace System;
using namespace System::Text;
int main()
{
   
   // Unicode characters.
   
   // Pi
   // Sigma
   array<Char>^chars = {L'\u03a0',L'\u03a3',L'\u03a6',L'\u03a9'};
   ASCIIEncoding^ ascii = gcnew ASCIIEncoding;
   int byteCount = ascii->GetByteCount( chars, 1, 2 );
   Console::WriteLine( " {0} bytes needed to encode characters.", byteCount.ToString() );
}
using System;
using System.Text;

class ASCIIEncodingExample {
    public static void Main() {
        // Unicode characters.
        Char[] chars = new Char[] {
            '\u0023', // #
            '\u0025', // %
            '\u03a0', // Pi
            '\u03a3'  // Sigma
        };

        ASCIIEncoding ascii = new ASCIIEncoding();
        int byteCount = ascii.GetByteCount(chars, 1, 2);
        Console.WriteLine(
            "{0} bytes needed to encode characters.", byteCount
        );
    }
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings

Class ASCIIEncodingExample
    Public Shared Sub Main()
        ' Unicode characters.
        ' ChrW(35)  = #
        ' ChrW(37)  = %
        ' ChrW(928) = Pi
        ' ChrW(931) = Sigma
        Dim chars() As Char = {ChrW(35), ChrW(37), ChrW(928), ChrW(931)}

        Dim ascii As New ASCIIEncoding()
        Dim byteCount As Integer = ascii.GetByteCount(chars, 1, 2)
        Console.WriteLine("{0} bytes needed to encode characters.", byteCount)
    End Sub
End Class

Commenti

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

Vedi anche

Si applica a