ASCIIEncoding.GetByteCount Yöntem

Tanım

Bir karakter kümesini kodlayarak üretilen bayt sayısını hesaplar.

Aşırı Yüklemeler

GetByteCount(ReadOnlySpan<Char>)

Belirtilen karakter aralığını kodlayarak üretilen bayt sayısını hesaplar.

GetByteCount(String)

Belirtilen Stringiçindeki karakterleri kodlayarak üretilen bayt sayısını hesaplar.

GetByteCount(Char*, Int32)

Belirtilen karakter işaretçisinde başlayan bir karakter kümesini kodlayarak üretilen bayt sayısını hesaplar.

GetByteCount(Char[], Int32, Int32)

Belirtilen karakter dizisinden bir karakter kümesi kodlayarak üretilen bayt sayısını hesaplar.

GetByteCount(ReadOnlySpan<Char>)

Kaynak:
ASCIIEncoding.cs
Kaynak:
ASCIIEncoding.cs
Kaynak:
ASCIIEncoding.cs

Belirtilen karakter aralığını kodlayarak üretilen bayt sayısını hesaplar.

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

Parametreler

chars
ReadOnlySpan<Char>

Kodlanabilecek karakter kümesini içeren yayılma alanı.

Döndürülenler

Belirtilen karakter aralığını kodlayarak üretilen bayt sayısı.

Açıklamalar

Sonucu elde edilen baytları depolamak için tarafından GetBytes gereken tam boyutu hesaplamak için kullanın GetByteCount. En büyük boyutu hesaplamak için kullanın GetMaxByteCount. GetByteCount yöntemi genellikle daha az bellek ayırmaya izin verirken, GetMaxByteCount yöntem genellikle daha hızlı yürütülür.

Şunlara uygulanır

GetByteCount(String)

Kaynak:
ASCIIEncoding.cs
Kaynak:
ASCIIEncoding.cs
Kaynak:
ASCIIEncoding.cs

Belirtilen Stringiçindeki karakterleri kodlayarak üretilen bayt sayısını hesaplar.

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

Parametreler

chars
String

String Kodlanması gereken karakter kümesini içeren.

Döndürülenler

Belirtilen karakterler kodlanarak üretilen bayt sayısı.

Özel durumlar

chars, null değeridir.

Elde edilen bayt sayısı, tamsayı olarak döndürülebilecek maksimum sayıdan büyüktür.

Bir geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)

-Ve-

EncoderFallback olarak ayarlanır EncoderExceptionFallback.

Örnekler

Aşağıdaki örnekte kullanarak bir dizeyi GetByteCountASCIIEncodingkodlamak için gereken bayt sayısını döndürmek için yönteminin nasıl kullanılacağı gösterilmektedir.

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

Açıklamalar

Uygulama, sonuç baytlarını depolamak için gereken GetBytes dizi boyutunu tam olarak hesaplamak için kullanır GetByteCount. En büyük dizi boyutunu hesaplamak için, uygulama kullanmalıdır GetMaxByteCount. GetByteCount yöntemi genellikle daha az bellek ayırmaya izin verirken, GetMaxByteCount yöntem genellikle daha hızlı yürütülür.

Ayrıca bkz.

Şunlara uygulanır

GetByteCount(Char*, Int32)

Kaynak:
ASCIIEncoding.cs
Kaynak:
ASCIIEncoding.cs
Kaynak:
ASCIIEncoding.cs

Önemli

Bu API, CLS uyumlu değildir.

CLS uyumlu alternatif
System.Text.ASCIIEncoding.GetByteCount(Char[], Int32, Int32)

Belirtilen karakter işaretçisinde başlayan bir karakter kümesini kodlayarak üretilen bayt sayısını hesaplar.

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

Parametreler

chars
Char*

Kodlanan ilk karakterin işaretçisi.

count
Int32

Kodlanacak karakter sayısı.

Döndürülenler

Belirtilen karakterler kodlanarak üretilen bayt sayısı.

Öznitelikler

Özel durumlar

chars, null değeridir.

count, sıfırdan küçüktür.

-veya-

Elde edilen bayt sayısı, tamsayı olarak döndürülebilecek maksimum sayıdan büyüktür.

Bir geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)

-Ve-

EncoderFallback olarak ayarlanır EncoderExceptionFallback.

Açıklamalar

Uygulama, sonuç baytlarını depolamak için gereken GetBytes dizi boyutunu tam olarak hesaplamak için kullanır GetByteCount. En büyük dizi boyutunu hesaplamak için, uygulama kullanmalıdır GetMaxByteCount. GetByteCount yöntemi genellikle daha az bellek ayırmaya izin verirken, GetMaxByteCount yöntem genellikle daha hızlı yürütülür.

Ayrıca bkz.

Şunlara uygulanır

GetByteCount(Char[], Int32, Int32)

Kaynak:
ASCIIEncoding.cs
Kaynak:
ASCIIEncoding.cs
Kaynak:
ASCIIEncoding.cs

Belirtilen karakter dizisinden bir karakter kümesi kodlayarak üretilen bayt sayısını hesaplar.

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

Parametreler

chars
Char[]

Kodlanması gereken karakter kümesini içeren karakter dizisi.

index
Int32

Kodlanan ilk karakterin dizini.

count
Int32

Kodlanacak karakter sayısı.

Döndürülenler

Belirtilen karakterler kodlanarak üretilen bayt sayısı.

Özel durumlar

chars, null değeridir.

index veya count sıfırdan küçüktür.

-veya-

index ve count içinde charsgeçerli bir aralığı ifade etmeyin.

-veya-

Elde edilen bayt sayısı, tamsayı olarak döndürülebilecek maksimum sayıdan büyüktür.

Bir geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)

-Ve-

EncoderFallback olarak ayarlanır EncoderExceptionFallback.

Örnekler

Aşağıdaki örnek, kullanarak ASCIIEncodingbir Unicode karakter dizisini GetByteCount kodlamak için gereken bayt sayısını döndürmek için yönteminin nasıl kullanılacağını gösterir.

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

Açıklamalar

Uygulama, sonuç baytlarını depolamak için gereken GetBytes dizi boyutunu tam olarak hesaplamak için kullanır GetByteCount. En büyük dizi boyutunu hesaplamak için, uygulama kullanmalıdır GetMaxByteCount. GetByteCount yöntemi genellikle daha az bellek ayırmaya izin verirken, GetMaxByteCount yöntem genellikle daha hızlı yürütülür.

Ayrıca bkz.

Şunlara uygulanır