Aracılığıyla paylaş


UTF7Encoding.GetByteCount Yöntem

Tanım

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

Aşırı Yüklemeler

GetByteCount(String)

Belirtilen String nesnedeki 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(String)

Belirtilen String nesnedeki karakterleri kodlayarak üretilen bayt sayısını hesaplar.

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

Parametreler

s
String

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

Döndürülenler

Int32

Belirtilen karakterleri kodlayarak üretilen bayt sayısı.

Öznitelikler

Özel durumlar

s is null (Nothing).

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

Geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlaması).

-ve- EncoderFallback olarak ayarlanır EncoderExceptionFallback.

Örnekler

Aşağıdaki kod örneği, bir 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'};
   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

Açıklamalar

Elde edilen baytların depolanmasını gerektiren GetBytes dizi boyutunu tam olarak hesaplamak için, uygulama kullanır GetByteCount. En büyük dizi boyutunu hesaplamak için uygulamanın kullanması GetMaxByteCountgerekir. 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)

Önemli

Bu API, CLS uyumlu değildir.

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*

Kodlanacak ilk karakterin işaretçisi.

count
Int32

Kodlanacak karakter sayısı.

Döndürülenler

Int32

Belirtilen karakterleri kodlayarak üretilen bayt sayısı.

Öznitelikler

Özel durumlar

charsis null (Nothing Visual Basic .NET'te).

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

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

Geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama) -ve- EncoderFallback olarak ayarlanır EncoderExceptionFallback.

Açıklamalar

Elde edilen baytların depolanmasını gerektiren GetBytes dizi boyutunu tam olarak hesaplamak için, uygulama kullanır GetByteCount. En büyük dizi boyutunu hesaplamak için uygulamanın kullanması GetMaxByteCountgerekir. 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)

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

Kodlanacak ilk karakterin dizini.

count
Int32

Kodlanacak karakter sayısı.

Döndürülenler

Int32

Belirtilen karakterleri kodlayarak üretilen bayt sayısı.

Özel durumlar

chars is null (Nothing).

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ı, int olarak döndürülebilecek maksimum sayıdan büyüktür.

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 kod örneği, bir 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'};
   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

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 uygulamanın kullanması GetMaxByteCountgerekir. 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