Udostępnij za pośrednictwem


UTF7Encoding.GetByteCount Metoda

Definicja

Oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków.

Przeciążenia

GetByteCount(String)

Oblicza liczbę bajtów generowanych przez kodowanie znaków w określonym String obiekcie.

GetByteCount(Char*, Int32)

Oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków rozpoczynających się od określonego wskaźnika znaków.

GetByteCount(Char[], Int32, Int32)

Oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków z określonej tablicy znaków.

GetByteCount(String)

Źródło:
UTF7Encoding.cs
Źródło:
UTF7Encoding.cs
Źródło:
UTF7Encoding.cs

Oblicza liczbę bajtów generowanych przez kodowanie znaków w określonym String obiekcie.

public:
 override int GetByteCount(System::String ^ s);
public override int GetByteCount (string s);
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetByteCount (string s);
override this.GetByteCount : string -> int
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetByteCount : string -> int
Public Overrides Function GetByteCount (s As String) As Integer

Parametry

s
String

String Obiekt zawierający zestaw znaków do kodowania.

Zwraca

Liczba bajtów generowanych przez kodowanie określonych znaków.

Atrybuty

Wyjątki

s is null (Nothing).

Wynikowa liczba bajtów jest większa niż maksymalna liczba, którą można zwrócić jako liczbę int.

Wystąpił rezerwowy (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET).

-I-

EncoderFallback jest ustawiona na EncoderExceptionFallbackwartość .

Przykłady

Poniższy przykład kodu pokazuje, jak za pomocą GetByteCount metody zwracać liczbę bajtów wymaganych do zakodowania tablicy znaków.

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

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

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

Class UTF7EncodingExample
    
    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 utf7 As New UTF7Encoding()
        Dim byteCount As Integer = utf7.GetByteCount(chars, 1, 2)
        Console.WriteLine("{0} bytes needed to encode characters.", byteCount)
    End Sub
End Class

Uwagi

Aby obliczyć dokładny rozmiar tablicy, który GetBytes wymaga przechowywania wynikowych bajtów, aplikacja używa polecenia GetByteCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna użyć polecenia GetMaxByteCount. Metoda GetByteCount zwykle zezwala na alokację mniejszej ilości pamięci, podczas gdy GetMaxByteCount metoda zwykle wykonuje się szybciej.

Zobacz też

Dotyczy

GetByteCount(Char*, Int32)

Źródło:
UTF7Encoding.cs
Źródło:
UTF7Encoding.cs
Źródło:
UTF7Encoding.cs

Ważne

Ten interfejs API nie jest zgodny ze specyfikacją CLS.

Oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków rozpoczynających się od określonego wskaźnika znaków.

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

Parametry

chars
Char*

Wskaźnik do pierwszego znaku w celu zakodowania.

count
Int32

Liczba znaków do kodowania.

Zwraca

Liczba bajtów generowanych przez kodowanie określonych znaków.

Atrybuty

Wyjątki

chars is null (Nothing w visual basic .NET).

Parametr count ma wartość niższą niż zero.

-lub-

Wynikowa liczba bajtów jest większa niż maksymalna liczba, którą można zwrócić jako liczbę int.

Wystąpił rezerwowy (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET)

-I-

EncoderFallback jest ustawiona na EncoderExceptionFallbackwartość .

Uwagi

Aby obliczyć dokładny rozmiar tablicy, który GetBytes wymaga przechowywania wynikowych bajtów, aplikacja używa polecenia GetByteCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna użyć polecenia GetMaxByteCount. Metoda GetByteCount zwykle zezwala na alokację mniejszej ilości pamięci, podczas gdy GetMaxByteCount metoda zwykle wykonuje się szybciej.

Zobacz też

Dotyczy

GetByteCount(Char[], Int32, Int32)

Źródło:
UTF7Encoding.cs
Źródło:
UTF7Encoding.cs
Źródło:
UTF7Encoding.cs

Oblicza liczbę bajtów generowanych przez kodowanie zestawu znaków z określonej tablicy znaków.

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

Parametry

chars
Char[]

Tablica znaków zawierająca zestaw znaków do kodowania.

index
Int32

Indeks pierwszego znaku do kodowania.

count
Int32

Liczba znaków do kodowania.

Zwraca

Liczba bajtów generowanych przez kodowanie określonych znaków.

Wyjątki

chars is null (Nothing).

index wartość lub count jest mniejsza niż zero.

-lub-

index i count nie oznaczają prawidłowego zakresu w charselemecie .

-lub-

Wynikowa liczba bajtów jest większa niż maksymalna liczba, którą można zwrócić jako liczbę int.

Wystąpił rezerwowy (aby uzyskać więcej informacji, zobacz Kodowanie znaków na platformie .NET)

-I-

EncoderFallback jest ustawiona na EncoderExceptionFallbackwartość .

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą GetByteCount metody zwracać liczbę bajtów wymaganych do zakodowania tablicy znaków Unicode.

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

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

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

Class UTF7EncodingExample
    
    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 utf7 As New UTF7Encoding()
        Dim byteCount As Integer = utf7.GetByteCount(chars, 1, 2)
        Console.WriteLine("{0} bytes needed to encode characters.", byteCount)
    End Sub
End Class

Uwagi

Aby obliczyć dokładny rozmiar tablicy wymagany przez GetBytes do przechowywania wynikowych bajtów, aplikacja używa polecenia GetByteCount. Aby obliczyć maksymalny rozmiar tablicy, aplikacja powinna użyć polecenia GetMaxByteCount. Metoda GetByteCount zwykle zezwala na alokację mniejszej ilości pamięci, podczas gdy GetMaxByteCount metoda zwykle wykonuje się szybciej.

Zobacz też

Dotyczy