UTF7Encoding.GetByteCount Yöntem

Tanım

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

Aşırı Yüklemeler

Name Description
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

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. Character Encoding in .NET).

-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 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, elde edilen baytları depolamak için gereken dizi boyutunu GetBytes 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)

Ö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)]
[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)]
public override int GetByteCount(char* chars, int count);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
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
[<System.CLSCompliant(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

Belirtilen karakterleri kodlayarak üretilen bayt sayısı.

Öznitelikler

Özel durumlar

chars null (Visual Basic .NET'de Nothing).

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

Uygulama, elde edilen baytları depolamak için gereken dizi boyutunu GetBytes 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)

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

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, 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 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, tarafından elde edilen baytları 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