Encoder.GetByteCount Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Türetilmiş bir sınıfta geçersiz kılındığında, bir karakter kümesini kodlayarak üretilen bayt sayısını hesaplar.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| GetByteCount(ReadOnlySpan<Char>, Boolean) |
Türetilmiş bir sınıfta geçersiz kılındığında, 'chars' yayılma alanında bir karakter kümesi kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir. |
| GetByteCount(Char*, Int32, Boolean) |
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen karakter işaretçisinde başlayan bir karakter kümesini kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir. |
| GetByteCount(Char[], Int32, Int32, Boolean) |
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen karakter dizisinden bir karakter kümesi kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir. |
Açıklamalar
Bu yöntem kodlayıcının durumunu etkilemez.
Elde edilen baytların depolanmasını gerektiren GetBytes dizi boyutunu tam olarak hesaplamak için, uygulama kullanmalıdır GetByteCount.
ile GetBytesçağrılırsa flushfalse, kodlayıcı veri bloğunun sonundaki karakterleri bir iç arabellekte depolar ve bunları bir sonraki kodlama işleminde kullanır. Uygulama, aynı blokta çağrı yapmadan hemen önce bir veri bloğu üzerinde çağrı GetByteCountGetBytes yapmalıdır, böylece önceki bloktaki tüm sondaki karakterler hesaplamaya dahil edilir.
GetByteCount(ReadOnlySpan<Char>, Boolean)
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
Türetilmiş bir sınıfta geçersiz kılındığında, 'chars' yayılma alanında bir karakter kümesi kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir.
public:
virtual int GetByteCount(ReadOnlySpan<char> chars, bool flush);
public virtual int GetByteCount(ReadOnlySpan<char> chars, bool flush);
abstract member GetByteCount : ReadOnlySpan<char> * bool -> int
override this.GetByteCount : ReadOnlySpan<char> * bool -> int
Public Overridable Function GetByteCount (chars As ReadOnlySpan(Of Char), flush As Boolean) As Integer
Parametreler
- chars
- ReadOnlySpan<Char>
Kodlanacak karakter aralığı.
- flush
- Boolean
true hesaplamadan sonra kodlayıcının iç durumunu temizleme benzetimi yapmak için; aksi takdirde , false.
Döndürülenler
Belirtilen karakterleri ve iç arabellekteki karakterleri kodlayarak üretilen bayt sayısı.
Şunlara uygulanır
GetByteCount(Char*, Int32, Boolean)
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
Önemli
Bu API, CLS uyumlu değildir.
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen karakter işaretçisinde başlayan bir karakter kümesini kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir.
public:
virtual int GetByteCount(char* chars, int count, bool flush);
[System.CLSCompliant(false)]
public virtual int GetByteCount(char* chars, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetByteCount(char* chars, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Security.SecurityCritical]
public virtual int GetByteCount(char* chars, int count, bool flush);
[<System.CLSCompliant(false)>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Security.SecurityCritical>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
Parametreler
- chars
- Char*
Kodlanacak ilk karakterin işaretçisi.
- count
- Int32
Kodlanacak karakter sayısı.
- flush
- Boolean
true hesaplamadan sonra kodlayıcının iç durumunu temizleme benzetimi yapmak için; aksi takdirde , false.
Döndürülenler
Belirtilen karakterleri ve iç arabellekteki karakterleri kodlayarak üretilen bayt sayısı.
- Öznitelikler
Özel durumlar
chars
null (Visual Basic .NET'de Nothing).
count, sıfırdan küçüktür.
Geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)
-ve-
Fallback olarak ayarlanır EncoderExceptionFallback.
Ayrıca bkz.
Şunlara uygulanır
GetByteCount(Char[], Int32, Int32, Boolean)
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen karakter dizisinden bir karakter kümesi kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir.
public:
abstract int GetByteCount(cli::array <char> ^ chars, int index, int count, bool flush);
public abstract int GetByteCount(char[] chars, int index, int count, bool flush);
abstract member GetByteCount : char[] * int * int * bool -> int
Public MustOverride Function GetByteCount (chars As Char(), index As Integer, count As Integer, flush As Boolean) 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ı.
- flush
- Boolean
true hesaplamadan sonra kodlayıcının iç durumunu temizleme benzetimi yapmak için; aksi takdirde , false.
Döndürülenler
Belirtilen karakterleri ve iç arabellekteki karakterleri kodlayarak üretilen bayt sayısı.
Özel durumlar
chars, null'e eşittir.
index veya count sıfırdan küçüktür.
-veya-
index ve count içinde charsgeçerli bir aralığı ifade etmeyin.
Geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)
-ve-
Fallback olarak ayarlanır EncoderExceptionFallback.
Örnekler
Aşağıdaki kod örneği, Unicode GetByteCountkullanarak bir karakter dizisini Encoder 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 EncoderExample {
public static void Main() {
// Unicode characters.
Char[] chars = new Char[] {
'\u0023', // #
'\u0025', // %
'\u03a0', // Pi
'\u03a3' // Sigma
};
Encoder uniEncoder = Encoding.Unicode.GetEncoder();
int byteCount = uniEncoder.GetByteCount(chars, 0, chars.Length, true);
Console.WriteLine(
"{0} bytes needed to encode characters.", byteCount
);
}
}
/* This example produces the following output.
8 bytes needed to encode characters.
*/
Imports System.Text
Imports Microsoft.VisualBasic.Strings
Class EncoderExample
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 uniEncoder As Encoder = Encoding.Unicode.GetEncoder()
Dim byteCount As Integer = _
uniEncoder.GetByteCount(chars, 0, chars.Length, True)
Console.WriteLine("{0} bytes needed to encode characters.", byteCount)
End Sub
End Class
'
'This example produces the following output.
'
'8 bytes needed to encode characters.
'